当前位置:  开发笔记 > 编程语言 > 正文

保存文件时Microsoft Excel使用什么字符集?

如何解决《保存文件时MicrosoftExcel使用什么字符集?》经验,为你挑选了3个好方法。

我有一个Java应用程序,它读取已在Excel中创建的CSV文件(例如2007).有谁知道MS Excel使用什么字符集来保存这些文件?

我猜对了:

windows-1255(Cp1255)

ISO-8859-1

UTF8

但我无法使用这些字符集类型解码扩展字符(例如法语强调字母).



1> devstuff..:

从内存中,Excel使用机器特定的ANSI编码.所以这将是用于EN-US安装的Windows-1252,用于俄语的1251等.


它应该如何工作,但功能被打破了.您只需使用"区域和语言"设置中设置的代码页,而不是将"将此文档另存为:"选项保留在"另存为对话框/工具"菜单/"Web选项"项/编码选项卡中.

2> Triynko..:

CSV文件可以是任何格式,具体取决于从Excel导出期间指定的编码选项:(保存对话框,工具按钮,Web选项项,编码选项卡)

更新:Excel(包括Office 2013)实际上并不尊重在"另存为..."对话框中选择的Web选项,因此这是某种错误.我现在只使用OpenOffice Calc打开我的XLSX文件并将其导出为CSV文件(编辑过滤器设置,选择UTF-8编码).


"Web选项"不适用于CSV导出(至少使用Excel 2007).CSV文件的编码似乎遵循安装的默认编码.所以在实践中它可以是任何东西.可悲的是,似乎没有办法在出口时控制这一点.
确认"Web选项"设置也不适用于Excel 2010中的CSV导出.请低估这个答案,这是不正确的.
默认编码是"ANSI",通常是cp1250到cp1258之一.
而不是对技术上正确的答案进行投票,为什么我们都不向@Microsoft提交关于这个破损功能的错误报告."从Excel导出期间指定的编码选项"是计算机的"区域和语言"设置中的编码选项,而不是Web选项中的编码选项卡.编码选项卡选项显示"将此文档另存为:",因此它应适用于要保存的文档,适用于文本编码适用的任何基于文本的格式.解决方法是更改​​区域和语言设置,但需要重新启动,仍然使用代码页.
我转而使用正确处理编码的Open Office的另一个原因.当您选择"文本CSV"时,可以选中"编辑过滤器设置"复选框,它将显示一个窗口,允许您选择字符集(默认为西欧(Windows-1252)),字段分隔符(逗号,分号,冒号,空格或制表符)和文本分隔符(双引号或单引号).这两个相似的软件如何处理CSV导出之间的对比是令人兴奋的.OpenOffice.org Calc会破坏Excel.
直到微软一起采取行动(仍然在Excel 2013中搞砸了),我转而使用OpenOffice Calc来打开包含国际字符的csv和dbf文件.我使用大量的映射数据,OpenOffice非常好地处理数据文件.

3> Albert Godfr..:

唤醒这个旧线程...我们现在是2017年。Excel仍然无法在保留原始编码的同时将简单的电子表格保存为CSV格式...太神奇了。

幸运的是,Google文档生活在正确的世纪。对我来说,解决方案就是使用Google文档打开电子表格,而不是将其下载回CSV文件。结果是正确编码的CSV文件(所有字符串都编码为UTF8)。

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有