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保存后再打开乱码。的主要内容,如果未能解决你的问题,请参考以下文章

excel打开csv 出现乱码怎么解决

csv文件用EXCEL打开是乱码,怎么办

csv文件打开乱码

怎么设置excel打开csv文件时候的默认编码?

如何设置excel可以直接打开csv文件

excel2007打开导出的.csv文件出现中文乱码,求高手指点