Java IO流将数据输出到.csv文件中,excel打开时乱码问题的解决
来源:互联网 发布:excel转pdf软件 编辑:程序博客网 时间:2024/05/28 15:35
前几天在做项目的时候,需要将数据库中读取的账单数据用IO流输出到.csv文件中保存,然后用excel表格打开查看。但是用excel表格打开时,出现的是乱码。想了很多办法都没有解决。最后我的导师想起来他之前也遇到过类似的问题。原来是微软的excel等编辑工具,为了将utf-8与其他编码区分开来,微软采用带有BOM(byte order marker 字节序标记)的UTF-8编码格式,这是微软的一种习惯。也就是说,在用输出流写出数据之前,要先将BOM写入到文件中,作为标记,然后再将数据写入到文件中,这样获得的文件才不会乱码。
代码如下:
BufferedWriter writer = null;try {byte[] uft8bom={(byte)0xef,(byte)0xbb,(byte)0xbf};//BOMFileOutputStream op = FileUtils.openOutputStream(file);op.write(uft8bom);//先将BOM输出到文件中writer = new BufferedWriter(new OutputStreamWriter(op,"UTF-8"));writer.write("产品名称,流量大小,省份 ,运营商,使用范围,购买数量,销售价格,手机号,是否退款,状态,时间");writer.newLine();for(ClientCheckBillExportVo v : list){writer.write(v.getProductName().toString() + ",");writer.write(v.getFlow().toString() + ",");writer.write(v.getProvinceName().toString() + ",");writer.write(v.getOperatorName().toString() + ",");writer.write(v.getScopName().toString() + ",");writer.write(v.getBuyNum().toString() + ",");writer.write(v.getShowSellPrice().toString() + ",");writer.write(v.getPhone().toString() + ",");writer.write(v.getRefundName().toString() + ",");writer.write(v.getStatusName().toString() + ",");writer.write(v.getUpdateTime());writer.newLine();}writer.flush();} catch (IOException e) {e.printStackTrace();}finally{try {writer.close();} catch (IOException e) {e.printStackTrace();}}
输出的BOM是16进制的EF BB BF
关于BOM详细请参考BOM的相关资料
阅读全文
1 0
- Java IO流将数据输出到.csv文件中,excel打开时乱码问题的解决
- java输出utf-8的csv文件时,文件中有中文,excel打开文件乱码问题解决
- 解决CSV文件打开乱码的问题
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- [置顶] 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- 如何解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- CSV文件excel打开乱码问题
- excel打开csv文件乱码问题
- Excel打开csv文件乱码问题的解决办法
- java将数据输出到Excel中
- CSV文件在EXCEL中打开时乱码解决办法
- 解决php导出csv文件打开乱码的问题
- Excel打开CSV文件乱码的解决方法
- EXCEL打开CSV文件乱码的解决方法
- 将数据写入到CSV文件中--出现“科学计数法”问题,已解决
- java将数据写入到csv文件中
- 解决UTF-8编码的CSV文件在MICROSOFT EXCEL打开是中文乱码的方法
- 基于Django搭建简单的博客系统
- fresco使用集锦
- UVA
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- 在Windows下安装编译GDB调试工具
- Java IO流将数据输出到.csv文件中,excel打开时乱码问题的解决
- eclipse 查看原始类出现The jar file rt.jar has no source attachment解决方法
- SQL SERVER 连接PHP
- MyBatis 动态SQL语句
- 浅谈背景半透明
- android hellochart的使用 画图形
- (推荐)第15章 扩展ASP.NET MVC (IModelBinder、过滤器)
- mysql批量更新的坑
- Java设计模式之观察者模式