如何强制 Excel 打开按列排列数据的 CSV 文件

如何强制 Excel 打开按列排列数据的 CSV 文件

我生成了一个扩展名为 .csv 的 CSV 文件,其中一行中的每一块数据都用逗号分隔:

1,2,3,4
1,2,3,4

该文件通过电子邮件发送,我希望当客户打开它时,她可以看到按列排列的数据。

这种事可能吗?

PS:我可以自由地更改分隔符。

答案1

使用制表符代替逗号。如果这不起作用,请为制表符分隔文件添加 xls 扩展名。

答案2

遗憾的是,微软决定在不同的本地化版本中使用不同的分隔符CSV(代表C奥玛 年代分开价值观)。这在国际范围内开展工作时尤其令人恼火。

如果只是为了得到csv 可读在每个系统中,都有一个未记录的技巧:在第一行写入SEP=;。此行告诉 EXCEL 使用;作为分隔符(实际上您可以使用任何(单个)字符(;,|@#'...))

注意:此行只是csv文件本身的一部分。它将不是成为EXCEL中电子表格的一部分。也就是说,它不会被显示,也不会被写入,无论你定义以何种格式写入或导出。

注意:这是 Microsoft EXCEL 特有的。其他电子表格程序可能无法理解这一点。

答案3

Excel 打开 CSV 文件时的行为在很大程度上取决于您的本地设置和list separator下使用的Region and language » Formats » Advanced。默认情况下,Excel 会假定每个 CSV 都使用该分隔符保存。只要 CSV 不是来自其他国家/地区,情况就是如此!

如果您的客户在其他国家,他们可能会看到与您想象不同的结果。

例如,在这里你可以看到,德国 Excel 将使用分号,而不是像美国那样的逗号 在此处输入图片描述

更令人困惑的是,该设置会干扰小数点符号,小数点符号可以在区域设置下Excel Options » Advanced » Use system separators或通过区域设置单独设置,如上所示。Excel 不能使用与小数点制表符和列表分隔符相同的符号。它会自动使用逗号或分号作为备用分隔符。阅读更多

我将以您的示例创建 3 个文件。每个文件使用不同的分隔符,然后使用 Excel 打开它。

    COMMA               SEMICOLON                     TAB 

在此处输入图片描述在此处输入图片描述在此处输入图片描述

和你的 Excel 不一样?我以为是的。

因此,让我们手动将相同 CSV 文件的扩展名更改为 XLS,看看现在会发生什么。首先,Excel 会发出警告,指出文件扩展名与内容不匹配,然后 Excel 会尝试猜测其中的内容。

    COMMA        SEMICOLON                   TAB 

在此处输入图片描述在此处输入图片描述在此处输入图片描述

结论:TAB + 重命名 + 忽略警告 = 在每个系统上都有效?
也许吧,但我不太确定对于您所在国家/地区以外的客户是否适用。

最好的方法是指导您的客户首先打开一个空白的 Excel,然后转到Data » Get data from text并手动选择逗号作为分隔符

答案4

在这种情况下,我使用的另一种解决方案是输出基本 HTML 文件,而不是 CSV。Excel 可以打开此文件而不会出现错误。它也可以读取文件中的至少部分格式。

相关内容