public void setcfywlxexcel(List<Map> map){
String filename = GetProperties.getConstValueByKey("cffilepath");
try {
File filexlsxFile =new File(filename);
if(!filexlsxFile.exists()){ //这里我设置的如果配置文件中设置的地址没找到此excel文件,则从项目中找;
URL filepath = SearchService.class.getResource("/批量查封上传模板.xlsx");
filename = filepath.getPath();
filexlsxFile = new File(filename);
}
FileInputStream in = new FileInputStream(filexlsxFile); //设置文件输入流
Workbook workbook = new XSSFWorkbook(in);
Sheet sheet = workbook.getSheetAt(1); //这里是从0开始,因为我修改的是第二个sheet ,因此我写的1
int rowNumber = sheet.getLastRowNum(); // 第一行从0开始算
System.out.println("原始数据总行数,除属性列:" + rowNumber); //这里是原文件的行数
for (int i = 1; i <= rowNumber; i++) {
Row row = sheet.getRow(i); //获得每一行
sheet.removeRow(row); //删除行
}
FileOutputStream out = new FileOutputStream(filexlsxFile); //这里一定要输出,不然不会保存操作
workbook.write(out);
for(int i =0;i<map.size();i++){
String CFLX = map.get(i).get("PRODEF_NAME").toString();
Row row = sheet.createRow(i); //创建新行
Cell cflx = row.createCell(0); //创建单元格
cflx.setCellValue(CFLX); //单元格赋值
}
out = new FileOutputStream(filexlsxFile); //依旧,保存
workbook.write(out);
if(out != null){
out.flush();
out.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
java poi修改excel
最新推荐文章于 2024-06-04 00:00:00 发布