如何强制 excel 引用 CSV 文件的所有列?

Mic*_*zer 110 csv microsoft-excel

Excel 只在某些字段周围放置引号,如何强制 excel 保存每列周围带有引号的 CSV 文件?

小智 48

如果您在 LibreOffice 或 OpenOffice 中打开 XLS 文件,然后另存为....并选择文本 CSV,它会生成一个 CSV 文件,其中还包括引号作为分隔符。例如:“史密斯”、“皮特”、“加拿大”、“琼斯”、“玛丽”、“英格兰”

只需选中“引用所有文本单元格”框: 使用 LibreOffice 导出为 CSV

为了同时引用数字字段,请在保存之前突出显示单元格范围并将单元格格式更改为“文本”。

  • 根本没有答案。问题明确与 MS Excel 相关 (35认同)
  • 虽然不是特定问题的答案,但它比试图让我的客户使用宏更简单! (11认同)
  • @1owk3y 只需选择全部,“格式”>“单元格”>,然后在“类别”框中选择“文本”。这使得所有值都变成文本=所有内容都将用引号导出。 (2认同)

sah*_*pee 47

这个页面也有直接来自马口的解决方案:

http://support.microsoft.com/kb/291296/en-us

如果链接降级,则要搜索的主题是:

“在 Excel 中导出带有逗号和引号分隔符的文本文件的过程”和/或“Q291296”

tl;dr:使用他们的宏

  • 我冒昧地用这个宏创建了一个要点,并做了一些修复:https://gist.github.com/fabriceal/7803969 (12认同)
  • 值得注意的是,宏使用 Integer 来表示行和列值。如果尝试导出超过 32768 行,您会遇到错误。例如,将数据类型更改为 Long 将解决该问题。 (10认同)

小智 22

我找到了这个简单的解决方案:

  1. 突出显示要添加引号的单元格。
  2. 右键单击并转到:设置单元格格式 → 选项卡:数字 → 类别:自定义
  3. 将以下内容粘贴到类型字段中:("''"@"''"请参阅下面的详细信息)
  4. 点击“好”

您粘贴的字符串"''"@"''"是双引号、单引号、单引号、双引号、@ 符号、双引号、单引号、单引号、双引号。

根据此处找到的信息针对 Excel 2010 进行了编辑。

  • 格式应该是\”@\” (7认同)

ATe*_*Tek 21

Powershell 似乎正确转储。所以像

如果您不了解 powershell,请在 Windows 机器上搜索 powershell.exe。

import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助某人。

  • 为方便起见,Shift + 右键单击​​保存 CSV 的文件夹并选择 *在此处打开 PowerShell 窗口*,这将命令简化为 `import-csv Myfile.csv | export-csv Myfile_quoted.csv -NoTypeInformation -Encoding UTF8`。记住在带有空格或其他特殊字符的文件名周围使用单引号。 (2认同)

小智 6

突出显示要添加引号的单元格。转到格式 –> 单元格 –> 自定义复制/粘贴以下内容到类型字段:\”@\” 单击“确定” 很高兴您没有手工完成所有操作。

来自:http : //www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/

  • 这对 alpha 很有效 - 对于带有数值的列,您将需要 \”#\”。 (2认同)

小智 5

这对我来说是最简单的:我将电子表格导入 Access 2010 并将其作为分隔文本文件导出。在我的字段周围加了引号。现在我已经把步骤下来了,42k 行只需要不到一分钟的时间。