/**
* 根据模板把获取的值写入模板,并复制新的sheet页写入模板
* @param lineList
* @param fileName
* @param name
* @throws Exception
/
public static void daYingBiaoQian(List<Map<String, Object>> lineList , String fileName,String name) throws Exception{
//获取文件位置
//File file = new File(“D:\apache-tomcat-7.0.92\webapps\world\WEB-INF\qiege\” + fileName);
File file = new File(“D:\” + fileName);
// 获取后缀
String suffix = fileName.substring(fileName.lastIndexOf("."));
// 判断版本
boolean isExcel2003 = fileName.toLowerCase().endsWith(“xls”) ? true : false;
Workbook workbook = null;
if (isExcel2003) {
workbook = new HSSFWorkbook(new FileInputStream(file));
} else {
workbook = new XSSFWorkbook(new FileInputStream(file));
}
//根据Workbook得到第0个下标的工作薄
Sheet oldsheet = workbook.getSheetAt(0);
Sheet sheetOne = workbook.getSheetAt(0);
for(int i=0;i<lineList.size();i++) {
if(i>0) {
Sheet sheet = workbook.createSheet(“sheet”+i);
CopySheetUtil.copySheets(sheet, oldsheet);
Map<String, Object> map1 = lineList.get(i);
//获取模板第二行
Row createRows = sheet.getRow(1);
// 序号 给PO赋值
Cell cells1 = createRows.getCell(2);
Cell cells2 = createRows.getCell(6);
cells1.setCellValue((String)map1.get(“workNum”));
cells2.setCellValue((String)map1.get(“num”));
//获取模板第三行
Row createRows1 = sheet.getRow(2);
Cell cells3 = createRows1.getCell(2);
Cell cells4 = createRows1.getCell(4);
cells3.setCellValue((String)map1.get(“partId”));
cells4.setCellValue((String)map1.get(“partName”));
//获取模板第四行
Row createRows2 = sheet.getRow(3);
Cell cells5 = createRows2.getCell(2);
cells5.setCellValue((String)map1.get(“cicun”));
//获取模板第五行
Row createRows3 = sheet.getRow(4);
Cell cells6 = createRows3.getCell(2);
Cell cells7 = createRows3.getCell(4);
cells6.setCellValue((String)map1.get(“makeName”));
cells7.setCellValue((String)map1.get(“workDate”));
//获取模板第六行
Row createRows4 = sheet.getRow(5);
Cell cells8 = createRows4.getCell(2);
cells8.setCellValue(""+(String)map1.get(“batchNum”)+"");
logger.info(“批次号:"+(String)map1.get(“batchNum”)+"”);
//获取模板第七行
Row createRows5 = sheet.getRow(6);
Cell cells9 = createRows5.getCell(2);
cells9.setCellValue(""+(String)map1.get(“analysisNum”)+"");
logger.info(“切割单号:"+(String)map1.get(“analysisNum”)+"”);
}else {
Map<String, Object> map = lineList.get(0);
//获取模板第二行
Row createRow = sheetOne.getRow(1);
// 序号 给PO赋值
Cell cell1 = createRow.getCell(2);
Cell cell2 = createRow.getCell(6);
cell1.setCellValue((String)map.get(“workNum”));
cell2.setCellValue((String)map.get(“num”));
//获取模板第三行
Row createRow1 = sheetOne.getRow(2);
Cell cell3 = createRow1.getCell(2);
Cell cell4 = createRow1.getCell(4);
cell3.setCellValue((String)map.get(“partId”));
cell4.setCellValue((String)map.get(“partName”));
//获取模板第四行
Row createRow2 = sheetOne.getRow(3);
Cell cell5 = createRow2.getCell(2);
cell5.setCellValue((String)map.get(“cicun”));
//获取模板第五行
Row createRow3 = sheetOne.getRow(4);
Cell cell6 = createRow3.getCell(2);
Cell cell7 = createRow3.getCell(4);
cell6.setCellValue((String)map.get(“makeName”));
cell7.setCellValue((String)map.get(“workDate”));
//获取模板第六行
Row createRow4 = sheetOne.getRow(5);
Cell cell8 = createRow4.getCell(2);
cell8.setCellValue(""+(String)map.get(“batchNum”)+"");
logger.info(“批次号:"+(String)map.get(“batchNum”)+"”);
//获取模板第七行
Row createRow5 = sheetOne.getRow(6);
Cell cell9 = createRow5.getCell(2);
cell9.setCellValue(""+(String)map.get(“analysisNum”)+"");
logger.info(“切割单号:"+(String)map.get(“analysisNum”)+"”);
}
}
File out = new File(“D:\” + name + suffix);
FileOutputStream fout = new FileOutputStream(out);
workbook.write(fout);
fout.close();
}
打印Excel模板
最新推荐文章于 2022-06-29 22:43:20 发布