POI workbook.write(outputStream)无法写入数据
List<VCloTemplate> templates = ts.selectCloTemplate(record); //查询模版记录, 按年份月份
ExcelFactoryTemplateCost<List<VCloTemplate>> excelInstance = new ExcelFactoryTemplateCost<>(templates);
File file = FileUtil.getFile(request.getSession().getServletContext().getRealPath("/")+"xls/" + excelInstance.getExcelAllName()); //创建文件
//创建OutputSream, 写入Excel文件
OutputStream output= null;
try {
output = new FileOutputStream(file);
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("1");
sheet.createRow(0).createCell(0).setCellValue("1");
wb.write(output);
// ??????????????????????????????????????excelInstance.getWorkbook().write();
//返回访问路径
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
String path = basePath+"xls/" + excelInstance.getExcelAllName();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(path);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这是一个SSM框架中, Controler层编写的写excel的代码
但是, 我尝试了两种方式,
1.在Controller中直接 new HSSFWorkbook()后生成workbook对象, 然后setCellValue()写入数据, 然后workbook.wirte(outputStream)写IO, 导出的excel表中有数据
2.在Controller中通过一个自己写的Util类, 向Util类中传入后台数据, 这个Util类会同样地处理数据, 生成一个workbook对象, 然后我再Controller中通过Util类的方法得到这个workbook对象, 再调用workbook.write(outputStream), 这时导出的excel表中没有数据
就是数据经过Util类处理, 再通过Util类中的方法返回的workbook对象, workbook.write(outputStream)无法将处理后的数据写入excel中
...全文
相关推荐
poi分多个sheet导出excel
每个sheet允许导出50000条记录,可以配置,如果sheet中的记录数>50000,则创建一个新sheet并从第一行开始导出记录
Apache POI深度克隆Excel工作表:从原理到实战的完整指南
在Java开发中,处理Excel文件是常见的需求,尤其是在需要批量生成标准化报表的场景下。Apache POI作为Java操作Office文档的核心库,其对象模型通过Workbook、Sheet、Row、Cell的层级结构,在内存中构建了Excel文件的完整表示。理解其深克隆机制,关键在于掌握样式池的重用和对象树的深度遍历,这能确保单元格样式、合并区域、打印设置等元信息被完整复制,而非仅拷贝数据。这一技术价值在于将开发者从繁琐的格式维护中解放,显著提升报表生成和数据迁移工具的自动化程度与健壮性。其典型应用场
poi-3.12 最新poi包20150511
poi-3.12 最新poi包20150511 用于Eexle导入导出
java poi 读写excel
NULL 博文链接:https://mazilaidaige.iteye.com/blog/1725205
POI完整依赖包集合,无需再去Maven下载
Java的开源Excel操作工具POI,包括了全部的依赖包,方便使用。


Java SE
