POI workbook.write(outputStream)无法写入数据

HOLD ON! HOLD ON! 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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中
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
HOLD ON!
Java SE 62,621 成员 307,251 内容