为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以强制Excel自动识别UTF-8 CSV文件?

是否可以强制Excel自动识别UTF-8 CSV文件?

开满天机 2019-06-14 17:36:38
是否可以强制Excel自动识别UTF-8 CSV文件?我正在开发一个应用程序的一部分,它负责将一些数据导出到CSV文件中。该应用程序总是使用UTF-8,因为它的多语种性质在所有级别.但是在Excel中打开这样的CSV文件(例如包含对话框、西里尔字母、希腊字母)并没有达到预期的结果。Г„/Г¤, Г–/Г¶..我不知道如何强制Excel理解打开的CSV文件是用UTF-8编码的。我还尝试指定了utf-8 bom。EF BB BF但Excel忽略了这一点。有什么解决办法吗?哪些工具可能表现得像Excel一样?更新我要说的是,我把社会和这个问题的表述混为一谈。当我问这个问题时,我要求以一种流畅透明的方式在Excel中打开UTF-8 CSV文件,没有任何问题。然而,我用了一个错误的公式要求这样做。自动..这是非常令人困惑的,它与VBA宏自动化相冲突。对于这个问题,我最欣赏的有两个答案:亚历克斯的第一个答案。https://stackoverflow.com/a/6002338/166589,我接受了这个答案,而马克的第二个答案https://stackoverflow.com/a/6488070/166589后来才出现。从可用性的角度来看,Excel似乎缺乏对用户友好的utf-8 csv支持,因此我认为双管齐下答案是正确的,我首先接受了Alex的回答,因为它确实表明Excel不能透明地做到这一点。这就是我所困惑的自动这里。Mark的答案为更先进的用户提供了一种更复杂的方法来实现预期的结果。这两个答案都很好,但亚历克斯的答案更适合我没有明确说明的问题。
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

Alex是正确的,但由于您必须导出到CSV,您可以在打开CSV文件时向用户提供此建议:

  1. 将导出的文件保存为CSV
  2. 打开Excel
  3. 使用数据导入数据->导入外部数据->导入数据
  4. 选择“csv”的文件类型并浏览到您的文件。
  5. 在导入向导中,将File_原产地更改为“65001 utf”(或选择正确的语言字符标识符)
  6. 将分隔符更改为逗号
  7. 选择导入到哪里并完成

这样,特殊字符才能正确显示。


查看完整回答
反对 回复 2019-06-14
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

UTF-8字节顺序标记将提示Excel 2007+在使用UTF-8这一事实。(见这个帖子).

如果有人有相同的问题,.NET的UTF 8编码类不会在GetBytes()打电话。你需要使用流(或使用)解决办法)使BOM输出。


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 1096 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信