Java 读取.xls模板并另存为.xls
来源:互联网 发布:数据整理的英语 编辑:程序博客网 时间:2024/05/16 11:51
File file = new File("E:/doc/supplier-order-template.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(FileUtil.openInputStream(file));
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {// 节点
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
for (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { // 循环行Row
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;//跳出离他最近的循环
}
for (int cellNum = 0; cellNum < hssfRow.getLastCellNum(); cellNum++) {// 循环列Cell
HSSFCell xssfCell = hssfRow.getCell(cellNum);
String cellValue = "";
if (xssfCell == null) {
cellValue = "";
} else {
if(xssfCell.getCellType()==HSSFCell.CELL_TYPE_STRING){//保证读取的是字符串格式
cellValue = String.valueOf(xssfCell.getStringCellValue());
cellValue=replaces(cellValue);
xssfCell.setCellValue(cellValue);
}
}
}
}
}
// 打印模板
//把创建的内容写入到输出流中,并关闭输出流
HSSFSheet sheet = hssfWorkbook.createSheet("供应商订单详情");
try
{
FileOutputStream fout = new FileOutputStream("E:/students.xls");
hssfWorkbook.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println("success");
//spring 的替换方法
public static String replaces(String str){
System.out.println(str);//替换之前的方法
PropertyPlaceholderHelper helper = new PropertyPlaceholderHelper("{", "}");
Properties properties = new Properties();
properties.setProperty("supplierName", "我是某某供应商");
properties.setProperty("deliveryman", "美团送货员");
properties.setProperty("supplierMobile", "13122596297");
properties.setProperty("purchaserName", "采购商名称");
String returnString=helper.replacePlaceholders(str, properties);
System.out.println(returnString);
return returnString;//替换之后的方法
}
/**
* 找到需要插入的行数,并新建一个POI的row对象
* @param sheet
* @param rowIndex
* @param cellStyle
* @param orderProductBO
* @return
*/
private HSSFRow createRow(HSSFSheet sheet, Integer rowIndex, HSSFWorkbook workbook, HSSFCellStyle cellStyle, OrderProductBO orderProductBO) {
if (sheet.getRow(rowIndex) != null) {
int lastRowNo = sheet.getLastRowNum();
sheet.shiftRows(rowIndex, lastRowNo, 1, true, false, false);
}
HSSFRow row = sheet.createRow(rowIndex);
List<String> values = new ArrayList<String>();
values.add(String.valueOf(orderProductBO.getOrderIndex() + 1));
values.add(orderProductBO.getProdName());
values.add(StringUtil.toString(orderProductBO.getActualQuantity()));
values.add(StringUtil.toString(orderProductBO.getSupplierSkuPrice()));
values.add(StringUtil.toString(orderProductBO.getTotalAmount()));
for (int i = 0; i < values.size(); i++) {
HSSFCell createCell = row.createCell(i);
createCell.setCellValue(values.get(i));
createCell.setCellStyle(cellStyle);
}
return row;
}
- Java 读取.xls模板并另存为.xls
- 【java】java读取xls
- Java读取xls文件
- java读取xls
- java读取xls文件
- Java用jxl读取xls
- java读取xls表格数据
- JAVA简单读取xls表格
- XLS
- 疯狂java Java读取xls文件
- java读取 xls 文件 存入数据库
- java 读取txt文件和xls文件
- JAVA读取xls文件和xlsx文件
- java读取Excel 格式.xls文件
- Java 读取excel xls以及xlsx文件
- Java读取XLS文件-JXL的使用
- JAVA读取xls文件和xlsx文件
- Java 读取 Excel(xls、xlsx格式)
- JS中的call()和apply()方法
- 动态规划考试test20170429
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- solrCloud 4.9 分布式集群部署及注意事项
- 自定义控件继承View------Music
- Java 读取.xls模板并另存为.xls
- POJ 3414 Pots(bfs+路径记录)
- 5 Best Linux Download Managers
- 什么是网络延迟
- CentOS7 64位下MySQL5.7安装与配置(YUM)
- 大学生程序设计邀请赛(华东师范大学)
- log4j配置详解
- No such module alamofire 用cococapod 导入 Alamofire
- jQuery选择器详细总结