就是有个模板,完全保留模板样式的情况下,在相应的地方更改或保留数据
//参数按顺序分别是模板路径,生成后的文件保存到的路径,替换的内容(键为“行-列”),第几个sheet
public static void getExcelMB(String pathIn,String pathOut,Map<String, Object> changeMap,int SheetNum) throws IOException{
Workbook workbook;
Sheet sheet;
String bb;
try {
Set<String> keySet=changeMap.keySet();
FileInputStream is=new FileInputStream(pathIn);
workbook=new HSSFWorkbook(is);
sheet=(HSSFSheet) workbook.getSheetAt(SheetNum);
for (String key : keySet) {
String[] hl=key.split("-");
Row row=sheet.getRow(Integer.parseInt(hl[0]));
Cell cell=row.getCell(Integer.parseInt(hl[1]));
cell.setCellValue(String.valueOf(changeMap.get(key)));
}
FileOutputStream fileOut = new FileOutputStream(pathOut);
workbook.write(fileOut);
fileOut.close();
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}