使用 c# 在 CSV 文件中用双引号将每个字段括起来

Posted

技术标签:

【中文标题】使用 c# 在 CSV 文件中用双引号将每个字段括起来【英文标题】:Enclosing every field with double quotes in CSV file using c# 【发布时间】:2014-02-20 06:40:04 【问题描述】:

我发现了几个关于希望从 CSV 文件中删除引号但不添加引号的人的帖子。我发现的关于添加引号的那些对我的情况没有帮助。

我正在使用 Microsoft.Office.Interop.Excel 并正在创建一个 CSV 文件,该文件将由一个程序读取,奇怪的是,它要求每个字段都用双引号引起来。但是,当我使用例如:

写入单元格时
xlSheet.Cells[1,1] = "\"" + id + "\"";

我的输出是 """id"""

有什么解决办法吗?我的客户也希望能够在 Excel 中打开文件,因此我使用 Microsoft.Office.Interop

【问题讨论】:

双引号 ""id"" 是您在文本编辑器或 Excel 中打开时在 csv 中看到的内容? 这是在文本编辑器中。 【参考方案1】:

您实际上不必使用 Microsoft.Office.Interop.Excel 写入文件,而只需使用文件名为 Your_File.csv 的 StreamWriter 写入文件。你仍然可以使用 Excel 打开这个 CSV 文件。请记住在 CSV 文件中使用正确的分隔符。希望这会有所帮助。

【讨论】:

我不知道可以打开使用 StreamWriter 编写的 CSV 文件。从现在开始,我一定会记住这一点;谢谢!【参考方案2】:

Excel 可能会将您的 "id" 值解释为文字字符串而不是数字,然后在将其转换为 CSV 时为其添加 additional 引号。

与其添加引号,不如将值存储为字符串而不是数字:

xlSheet.Cells[1,1] = id.ToString();

【讨论】:

以上是关于使用 c# 在 CSV 文件中用双引号将每个字段括起来的主要内容,如果未能解决你的问题,请参考以下文章

CSV文件格式要求

CSV文件格式介绍

Pig — 如何加载包含用双引号括起来并用逗号分隔的字段的 CSV 文件

csv文件

opencsv写入时去掉双引号

第十七天python3 文件IO