java web 导出excel

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35529931/article/details/83147039

这篇博客再次记录一下导出excel; 收到一个改一个excel导出的任务,于是很自然的去参考上一篇博客。
https://blog.csdn.net/qq_35529931/article/details/81988802
结果导出excel后,里面的内容却一直是乱码。于是一度认为是字符集没有设置,各种设置都没有效果。于是改成了英文,发现下载下来的却也是乱码。可以得出结论,不是乱码的问题了。改成英文打开,如下图;在这里插入图片描述
于是参考了另一篇博客。记录一下。
前端的写法,没有改变。用的原来的。
在这里插入图片描述
后台的写法 也很简单。由于是导出模板,没有从数据库查询。
代码如下:
public void exportEnterStockDetailTemplate(HttpServletResponse response) throws IOException{
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet(“物资入库导出模板”);
String fileName = null;
try {
fileName = new String(“物资入库导出模板.xls”.getBytes(“utf-8”), “iso-8859-1”);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(“字符编码格式不支持,” + e);
}
// 新增数据行,并且设置单元格数据
String[] headers = { “操作”, “入库数量”, “物资名称”, “品牌”, “型号”,
“单位”, “入库单价”, “有效期”, “供应商”, “” + “位置”};
// headers表示excel表中第一行的表头
HSSFRow row = sheet.createRow(0);
for(int i=0;i<headers.length;i++){
HSSFCell cell = row.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
}
response.setContentType(“application/octet-stream”);
response.setHeader(“Content-disposition”, “attachment;filename=” + fileName);
response.flushBuffer();
workbook.write(response.getOutputStream());
}

这样就可以了。主要是设置了表名的中文,以及头部的设置。
在这里插入图片描述
这次记录完成。这是第二种spring boot导出excel的方法!!!

猜你喜欢

转载自blog.csdn.net/qq_35529931/article/details/83147039