java导出csv文件使用Excel打开乱码问题

写一个csv文件,发现使用 notpad++ 打开是没有问题的,但是使用 Excel 打开之后显示乱码

刚开始的代码是这样子的:

ByteArrayOutputStream os = new ByteArrayOutputStream();
PrintWriter printWriter = new PrintWriter(os);
printWriter.write("\"品牌商\",\"事业部账户余额(单位元)\",\"事业部\"\n");

发现有问题之后,加上 printWriter.write(new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }));  就好了

ByteArrayOutputStream os = new ByteArrayOutputStream();
PrintWriter printWriter = new PrintWriter(os);
printWriter.write(new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF })); 
printWriter.write("\"品牌商\",\"事业部账户余额(单位元)\",\"事业部\"\n");

原文地址:https://www.cnblogs.com/zhangqian27/p/8405671.html

时间: 2024-07-28 23:16:14

java导出csv文件使用Excel打开乱码问题的相关文章

PHP 导出 CSV 文件用 Excel 打开出现中文乱码

本篇文章由:http://xinpure.com/php-export-csv-file-opened-by-excel-appear-garbled/ 乱码情况 写了一段导出 CSV 文件的代码,可以正常输出 使用 CSV 和 TXT 程序打开文件是正常的,但是使用 Excel 打开文件就出现了中文乱码的问题(这就奇怪了, 为什么在 Excel 中会乱码呢?) 通过查看编码发现,导出的 CSV 文件是 UTF-8 无BOM编码格式,而我们通常使用 UTF-8 编码格式 都是有 BOM 的. 尝

解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题

1.开始 -- 运行,输入”Regedit“,打开 注册表 . 2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ‘计算机\HKEY_CURRENT_USER\Software\ESRI\Desktop 10.x' 如果是9.3.1之前的版本,定位到 'My Computer\HKEY_CURRENT_USER\Software\ESRI'.3.创建项 'Common', 接着在其下创建 'CodePage' 项, 添加 '字符串’,名称: dbfDefault,健值:oem

java utf8字符 导出csv 文件的乱码问题。

在输出的格式为UTF-8的格式,但是打开CSV文件一直为乱码,后来参考了这里的代码,搞定了乱码问题,原文请参考:http://hbase.iteye.com/blog/1172200 private static void writeBcp( ) throws IOException { //Create bcp file if not exist File bcpFile = new File("test.csv"); //bcpFile.delete(); byte[] bom =

关于CSV文件 Excel打开乱码问题的解决方案

近日写java程序中,将数据输出到csv文件中,发现Excel打开之后,中文均为乱码 于是寻找解决方案,发现最简单的方式还是如此了 1. 将输出的csv文件用记事本打开 2. 另存为将文件编码格式改为UTF-8 3. 再用Excel打开,乱码问题得以解决 ,

记一次java生成csv文件乱码的解决过程 (GB2312编码)

系统:win7 (格式:中文(简体,中国)) 工具:Eclipse (默认编码utf-8) 服务两个:[restful接口]  和 [服务*** server]. 场景:[服务*** server]多次调用[restful接口],每次[restful接口]会返回一个生成好的csv文件内容.[服务*** server]将每次[restful接口]返回的csv内容保存成一个csv文件.并将生成的多个csv文件打包成一个zip压缩包. [restful接口]:根据一组数据生成csv文件 1. java

PHP 导出csv文件乱码解决方案

最近在开发一个导出csv文件数据,到含有中文的时候会乱码,现在发现了一个很好的解决方案,就是再fwrite前加入一行代码即可. $fp = fopen("order.csv", "a"); //在写入数据之前先把bom头写到文件里 fwrite($fp,"\xEF\xBB\xBF"); $p=fwrite($fp,$str); // 写入数据 fclose($fp); 加上之后就可以正常了.

php 导入/导出 csv 文件

php 导入/导出 csv 文件 1.简介 项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用原生PHP,实现了CSV格式数据的导入和导出功能.并解决相关乱码问题. 将xls转换成csv的文本格式,然后再用php分析这个文件,和PHP分析文本没有什么区别.优点:跨平台,效率比较高.可以读写.缺点:只能直接使用csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化.一个文件只有一个SHEET. 2.相关函数介绍 2.1

web前端导出csv文件

前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这个需求肯定是有答案的,只是对于各浏览器处理会稍微不一样.(主要是IE 和其他浏览器的区别). 在IE中使用ActiveXObject 实现,在firefox 和Chrome 中使用  a 标签(或者js)就可以实现了. 这里主要讲一下其他浏览器中的实现. 使用 a 标签实现方式 直接上例子: [ht

Web 端 js 导出csv文件(使用a标签)

前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这个需求肯定是有答案的,只是对于各浏览器处理会稍微不一样.(主要是IE 和其他浏览器的区别). 在IE中使用ActiveXObject 实现,在firefox 和Chrome 中使用  a 标签(或者js)就可以实现了. 这里主要讲一下其他浏览器中的实现. 使用 a 标签实现方式 直接上例子: 1 <