问题描述
用InputStream转换为MultipartFile并生成CSV文件的过程中,生成的CSV文件用Excel打开会出现中文乱码的问题,但用NotePad++打开时中文显示正常,用NotePad++打开文件并修改文本编码格式为UTF-8-BOM后保存,再用excel打开后显示也正常
解决方案
以CSV方式导出的文件中默认不含BOM信息,通过给将流的头部设置BOM标识(以 EF BB BF 开头的字节流)即可解决该问题
InputStream originInputStream = inputStreamResource.getInputStream();
//指定bom编码
InputStream bomCode = new ByteArrayInputStream(new byte []{
(