Tim*_*fey 52 csv microsoft-excel microsoft-excel-2010
我生成了一个扩展名为 .csv 的 CSV 文件,其中一行中的每条数据都用逗号分隔:
1,2,3,4
1,2,3,4
Run Code Online (Sandbox Code Playgroud)
该文件是通过电子邮件发送的,我希望当客户打开它时,她会看到按列排列的数据。
这样的事情可能吗?
PS:我可以随意更改分隔符。
Ste*_*han 78
可悲的是,微软决定在不同的本地化使用不同的分隔符CSV(代表ç OMMA 小号eparated V alues)。在国际范围内工作时,这尤其令人讨厌。
如果只是为了让每个系统csv 都可读,那么有一个未公开的技巧:在第一行写SEP=;。这一行告诉 EXCEL;用作分隔符(实际上您可以使用任何(单个)字符 ( ;,|@#'...))
注意:这一行只是csv文件本身的一部分。它不会成为 EXCEL 电子表格的一部分。这意味着,无论您定义要写入或导出的格式,它都不会显示也不会写入。
注意:这是 Microsoft EXCEL 特定的。其他电子表格程序可能不理解这一点。
nix*_*xda 52
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
Run Code Online (Sandbox Code Playgroud)



和你的 Excel 不一样?我是这么想的。
因此,让我们手动将扩展名从相同的 CSV 文件更改为 XLS,看看现在会发生什么。首先,Excel 会发出警告,指出文件扩展名与内容不匹配,Excel 会尝试猜测里面的内容。
COMMA SEMICOLON TAB
Run Code Online (Sandbox Code Playgroud)



结论: TAB + 重命名 + 忽略警告 = 在每个系统上都赢?
也许吧,但对于您所在国家/地区以外的客户,我不太确定。
最好的方法是指示您的客户先打开一个空白的 Excel,然后转到Data » Get data from text并手动选择逗号作为分隔符
Joe*_*orn 17
使用制表符代替逗号。如果这不起作用,请为您的制表符分隔文件添加一个 xls 扩展名。
| 归档时间: |
|
| 查看次数: |
291891 次 |
| 最近记录: |