Java 浏览器上下载csv文件用文本编辑器打开乱码问题

博客围绕浏览器点击下载按钮下载CSV文件展开。先介绍后台用POI创建工作簿生成CSV文件的方案,该方案用WPS表格打开正常,但用文本编辑器打开会乱码。分析原因是POI生成的本质是Excel文件。最终提出用字符串拼接方式生成CSV文件的解决方案,要注意编码和文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求描述:浏览器上点击下载按钮,下载一个csv文件

实现方案:后台用poi创建一个 XSSFWorkbook workbook = new XSSFWorkbook();(里面的内容根据业务进行填充) 然后用   workbook.write(response.getOutputstream());  同时response设置保存的文件 名以为 .csv结尾即可。

问题描述:以上方案确实可以生成csv文件,用wps表格打开没有问题,但是如果用文本编辑器比如notepad++ 等打开,就会出现乱码,并且改变其编码格式还是乱码?

                   原因:用poi生成的workbook本质上还是一个excel,所以用notepad++打开中的乱码其实是excel文件的一些相关设置或者信息。

最终解决方案:csv本质上也是一个txt,或者字符串,所以没有必要用poi来生成,最简单的方案,用字符串拼接的方式,将内容拼接成一个String str; 然后  response.getOutputStream().write(str.getBytes());即可。注意编码格式和文件名(.csv)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值