在使用poi导出xls和xlsx文件时,有时候会出现乱码,这个问题我分为两种情况,但是解决思路差不多。

1.不使用模板

如果我们在导出时,不使用提前存储的模板,那么下面的两种情况需要严格对应:

.xls

创建工作簿用:

Workbook workbook = new HSSFWorkbook();  

文件类型设置:

response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xls");

或者

文件类型设置(推荐):

response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xls");
.xlsx

创建工作簿用:

Workbook workbook = new XSSFWorkbook(); 

文件类型设置:

response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xlsx");

或者

文件类型设置(推荐):

response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xlsx");

2.使用模板

如果我们使用了自己的模板,那么一定要注意:

你新建模板时,如果是.xls文件,那后面就用.xls那一套;

如果是.xlsx文件,那后面就用.xlsx那一套;

还有一种很坑的情况,就是,你建模板时,新建的是.xlsx文件,但是你简单的改了后缀名,改为了.xls,然后代码中用了.xls那一套,那恭喜你,这个错误,是很难发现的,下载文档后打开时可能就会出现如下情况,反之亦然:

文件格式和拓展名不匹配,文件可能已损坏,或者不安全。除非您信任其来源……

poi导出excel文件乱码相关推荐

  1. springboot中使用poi导出excel文件(亲测实现了第一个功能)

    1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...

  2. Java:使用POI导出Excel文件后打开文件提示因为文件格式或文件扩展名无效而无法打开

    使用POI导出Excel文件后打开文件提示因为文件格式或文件扩展名无效而无法打开 问题 方案 问题 在SpringBoot项目中,使用POI导出查询结果至Excel文件中,成功导出后打开Excel文件 ...

  3. POI导出Excel文件时,单元格内文字竖排、横排默认不展示,必须点击一下问题解决

    //创建单元格样式设置CellStyle cs_vertical = wb.createCellStyle();//设置字体Font textFont = wb.createFont();textFo ...

  4. 解决poi导出Excel文件打开警告(一)

    项目中需要导出Excel报表,使用poi导出Excel文件,添加依赖 <dependency><groupId>org.apache.poi</groupId>&l ...

  5. poi导出excel文件,并生成原生图表(包括折线图,柱状图,饼状图,面积图)

    前段时间,因为客户需要,要做一个导出excel文件功能,并能生成原生的图表的(不是把图片插入到excel文档),找了很多文档看,也看了很多别人的代码,个人也总结了一下,不足之处,请各位大牛谅解. 需要 ...

  6. poi导出excel 损坏_急!!!java用poi导出excel文件,打开导出的文件时报错“文件错误,数据可能丢失”...

    展开全部 两个原因: 1.你的excel模版本身有问题,可以尝试新建一个模版. 2.你的excel使用了一e68a8462616964757a686964616f31333365643662些POI不 ...

  7. POI导出excel文件,包含校验信息

    POI导出: 使用domain校验 1.依赖: <dependency><groupId>org.apache.poi</groupId><artifactI ...

  8. apache POI导出excel文件 及单元格合并 、样式的设置

    客户需要从完单物料信息中到处excel 大概思路: 单击某一按钮,触发请求至后台,创建输出流,导出excel ^_^ 前台代码: (此段代码 注释部分存在一个问题,注释部分的请求无效,后台无法响应前台 ...

  9. 解决IE浏览器下导出Excel文件乱码和不显示的问题

    乱码问题解决: 第一步:前端转码 使用js中的转码函数 encodeURI(activityName) 将接口中传入的中文字符转码 第二步后台解码: String activityName = new ...

最新文章

  1. 高精地图与自动驾驶(上)
  2. 清华大学大数据研究中心“RONG”奖学金申请通知
  3. 招青年博士,年薪70-80万,200万以上补贴,直聘博导!苏州大学
  4. Apache+Tomcat +mod_proxy集群负载均衡及session
  5. cross-domain policy file
  6. Java笔记-使用RabbitMQ的Java接口生产数据并消费
  7. 谷歌为安卓系统加入Fast Pair技术 蓝牙耳机将实现设备自动切换
  8. ubuntu 12.04(64位)下搭建android5.0开发环境 (win7 虚拟机)
  9. 天堂2单机版服务器时间修改,L2Jserver版本天堂2进游戏公告的修改
  10. 鹏业软件CAD云服务转图纸没反应的说明
  11. 数据库基础介绍(1)几种常见的数据库
  12. 哈工大深圳计算机自动化专业,专业介绍———自动化专业知多少
  13. 手机拍照及简单的图片压缩
  14. 代码的版权声明怎么写
  15. Android5.0新特性:RecyclerView实现上拉加载更多
  16. 【二次元的CSS】—— 用 DIV + CSS3 画咸蛋超人(详解步骤)
  17. 一个程序员的减肥方法(男女通用); 饮食+运动
  18. wps怎么添加附录_如何将附录生成目录 - 卡饭网
  19. 第一阶段:2014年10月13日-12月14日,36天完成。每周5天,8周完成。
  20. OpenMV扫码识别

热门文章

  1. unity代码控制物体的透明度总结
  2. 2.Collection、Iterator迭代器、泛型、斗地主案例
  3. 谷歌浏览器点击收藏夹网址如何弹出新窗口,不在当前窗口
  4. 芯片如何储存信息_手机上的你以为信息删了就彻底删除了?事情没那么简单
  5. 微信小程序setData视图不更新的问题
  6. 红米k30至尊纪念版和华为mate30pro哪个值得买
  7. 亚马逊卖家问题-02.亚马逊订单等待付款中,这是什么情况?
  8. Assigning Pods to Nodes(将Pod分配到Node)
  9. 常用的第三方SDK介绍(搜集中)
  10. 常用第三方SDK目录