csv文件,excel保存后再打开乱码。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csv文件,excel保存后再打开乱码。相关的知识,希望对你有一定的参考价值。
导出的csv文件,ShiftJIS、UTF-8、GB2312都试过了,导出来正常,修改保存后再重新打开就是乱码。用宏导出到另一个excel文件中也同样是乱码。我的计算机语言是日语,东西都是日语的。
excel是2007版
1.文件已经被损坏。
2.因启动故障而没有保存好Excel文件。
解决办法:
1.将Excel乱码文件另存为SYLK格式。如果Excel乱码文件能打开,将Excel乱码文件转换为SYLK格式可以筛选出文档的损坏部分,然后再保存数据。
2.Excel乱码文件转换为较早的版本。关闭打开的工作簿,当系统询问是否保存更改时,单击“否”。在“文件”菜单中,单击“打开”命令,双击该工作簿文件。
3.单击 “文件”——“打开”。通过“查找范围”框,定位并打开包含受损文档的文件夹,选择要恢复的文件。单击“打开”按钮旁边的箭头,然后单击“打开并修复”即可。
4.借助第三方软件来尝试解决excel乱码。如“Office Excel Viewer”。 参考技术A 修改完以后另存为CSV文件试试追问
再打开还是乱码。
追答是用记事本打开看的么?
试试在计算机语言增加简体中文
记事本打开能看,不是乱码,但是excel打开还是乱码。
追答记事本打开能看说明文件没问题,excel打开是乱码说明excel的问题
开始-程序-microsoft office-office工具-编辑语言,设成简体中文试试
这个试过了,还是乱码。文件也是日语的。
现在的问题是,文件导出的时候是可以的,但是如果删除一行或者一列,再保存(原文件或另存为)后重新打开,即是乱码。我的电脑环境都是日文。
开始-程序-microsoft office-office工具-编辑语言,设成日语
还不行,就用记事本打开,复制到excel里编辑。
javacsv生成的csv用excel打开中文乱码
在SourceForge上找到读写csv文件的开源代码。
但是生成的csv文件,如果用excel打开时,中文全部会乱码。原因是excel在解析csv文件时,默认以utf-8带BOM格式去解析的。
utf-8保存的csv格式文件要让Excel正常打开的话,必须加入在文件最前面加入BOM(Byte order)。
主要修改代码如下:
private void checkInit() throws IOException {
if (!initialized) {
if (fileName != null) {
outputStream = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(fileName), charset));
//为了要让EXCEL显示csv中的中文不乱码,手动的给将要输出的内容加上BOM标识
if (isUtf8WithBOM) {
outputStream.write(new String(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF}));
}
}
initialized = true;
}
}
完整代码放到了gitee上。
以上是关于csv文件,excel保存后再打开乱码。的主要内容,如果未能解决你的问题,请参考以下文章