android导出CSV,中文乱码问题
来源:互联网 发布:抑郁症测试 知乎 编辑:程序博客网 时间:2024/06/06 10:56
前两天在书写demo的时候发现导出的csv文件到mac的excle打开是乱码
分析其中原因我概括为
1:导出时候是UTF-8的输出,用文本打开是不会出错的,
2:excle不是UTF-8文本协议,他采用的ASNI编码
关键点就在这里 既然是ASNI就采用 就是一句话的事
<strong>bfw.write(0xFEFF);</strong>
例子代码
<pre name="code" class="java">public void ExportToCSV() {FileWriter fw;BufferedWriter bfw;File sdCardDir = Environment.getExternalStorageDirectory();File saveFile = new File(sdCardDir, "demo.csv");FinalDb finalDb = EveryDayAccountApplication.getDatabase(mainActivity);List<Account> list = AccountDao.getCostTypeAccount(finalDb);String[] contents = { "记录备注以及类别", "记录时间", "消费时间", "收入支出", "金额" };try {fw = new FileWriter(saveFile);bfw = new BufferedWriter(fw);bfw.write(0xFEFF);System.out.println("daochu"+ contents.length);for (int i = 0; i < contents.length; i++) {System.out.println("daochu"+contents[i]);bfw.write(contents[i] + ",");}// 写好表头后换行bfw.newLine();// 写入数据for (Account account : list) {// 写好每条记录后换行SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd",Locale.CHINA);String creattime = format.format(account.getCreateTime());String costtime = format.format(account.getCostTime());String costName = account.getCostName();int isCost = account.getIsCost();double money = account.getMoney();String arrStr[] = {costName == null ? "" : costName,"".equals(creattime) ? "" : creattime,"".equals(costtime) ? "" : costtime,isCost == 1 ? "消费" : "收入",money + "" == null ? "" : money + "" };for (int i = 0; i < arrStr.length; i++) {if (i != arrStr.length - 1)bfw.write(arrStr[i] + ",");elsebfw.write(arrStr[i]);}bfw.newLine();}bfw.flush();bfw.close();} catch (IOException e) {e.printStackTrace();}}
0 0
- android导出CSV,中文乱码问题
- 导出csv文件中文乱码问题
- mongoexport导出csv中文乱码
- php 导出csv中文乱码
- Python导出csv中文乱码
- java从数据库导出.csv文件及中文乱码问题
- Mantis中文环境下CSV和Excel导出乱码问题
- java从数据库导出.csv文件及中文乱码问题
- Mysql 导入导出csv 中文乱码问题的解决方法
- xadmin的csv导出中文乱码的问题
- navicat导出csv乱码问题
- PLSQL导出CSV文件中文存在乱码
- rails导出CSV XLS 中文乱码解决办法
- JSON导出CSV中文乱码解决方案
- python导出数据至CSV中文乱码
- Python 导出csv文件时中文乱码
- laravel 导出csv文件 用excel打开中文乱码问题之BOM
- 解决 JasperReport 导出 Csv 乱码的问题
- AngularJS入门总结
- CSS三角形广告文字
- Android Service在bindService不能触发onServiceConnected方法
- mysql 5.7.10 windows 7以上64位下安装
- Ehcache(05)——缓存的查询
- android导出CSV,中文乱码问题
- CentOS安装IPython
- Facebook 闪光效果开源库shimmer的用法
- ssh分页
- DP----cf#336 div2 C D
- 身份证号码验证
- ReentrantLock源码学习
- MFC消息响应机制分析
- Python循环语句