一尘不染

在.net中编写CSV文件

c#

我需要将数据集导出为CSV文件。

我花了一段时间寻找一组要遵循的规则,并意识到编写CSV文件时有很多规则和例外。

http://knab.ws/blog/index.php?/archives/3-CSV-file-parser-and-writer-in-C-
Part-1.html http://bytes.com/topic/c- sharp / answers /
236875-problems-streamwriter-output-csv
http://social.msdn.microsoft.com/forums/en-
US/csharpgeneral/thread/0073fcbb-
adab-40f0-b768-4bba803d3ccd

所以现在这不是一个用逗号分隔字符串的简单过程,我已经搜索了第3方或.net框架中包含的现有CSV编写器(希望如此!)。

编辑:新链接:http :
//www.thinqlinq.com/Post.aspx/Title/LINQ-to-CSV-using-DynamicObject-and-
TextFieldParser

TextFieldParser是一个VB对象(可以从C#引用),它将自动解析CSV文件。:)

我想知道是否有人知道任何方便的.Net(2.0-> 3.5和4.0)库可用于生成格式正确的CSV文件。

另外,是否存在用于生成CSV文件的规则集。

CSV阅读器和解析CSV文件有很多详细信息,但是关于编写的信息并不多(好吧,我知道这与:P相反)。

http://www.codeproject.com/KB/database/CsvReader.aspx

任何帮助将非常感激 :)

我发现了另一篇文章,其中包含一些更详细的CSV规则:http
:
//www.creativyst.com/Doc/Articles/CSV/CSV01.htm

精巧的第三方库是Linq-to-
CSV(不是框架库):http :
//www.codeproject.com/KB/linq/LINQtoCSV.aspx

谢谢大家的帮助。我决定最好的解决方案是创建一个简单的静态类,该类将进行特殊字符替换(克里斯提到)。

如果需要Linq查询我的CSV文件,请查看Linq-to-CSV的CodeProjects实现。

再次感谢 :)


阅读 282

收藏
2020-05-19

共1个答案

一尘不染

如果您的单元格中有逗号,请用双引号将整个单元格括起来,例如:

cell 1,cell 2,"This is one cell, even with a comma",cell4,etc

并且,如果您想要字面双引号,请执行其中两个,例如:

cell 1,cell 2,"This is my cell and it has ""quotes"" in it",cell 4,etc

至于日期,请坚持使用ISO格式,并且应该没问题(例如yyyy-mm-dd hh:mm:ss)

2020-05-19