使用 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 文件中用双引号将每个字段括起来的主要内容,如果未能解决你的问题,请参考以下文章