我正在尝试从数据库中获取数据并将其导出为.csv
文件格式,类似于ETL process
。但我想在C#
中这样做。
我知道第一步很容易做到,我很难找到第二步和第三步的方法。
答案 0 :(得分:4)
我无法对文件规范发表评论,因为您没有对其进行描述,但编写CSV文件非常简单。与XML等不同,格式非常简单,您可以使用WriteLine直接写入StreamWriter。您所需要的只是输出包含用逗号分隔的列名的第一行,然后对于从SQL查询返回的每一行,以逗号分隔的相同顺序写入列值。唯一真正的问题是逃避,例如处理逗号,引号等,用引号括起每个值并转义值中的任何引号。
以下示例仅针对DataTable:
http://dotnetguts.blogspot.co.nz/2007/01/exporting-datatable-to-csv-file-format.html
答案 1 :(得分:0)
我想出了一种简单而有效的方法:
1.SQL查询从数据库中获取数据 2.将数据格式化为指定的文件规范。
对于前两个步骤,我使用了 Dapper.NET 负责数据库部分以及格式化。 Dapper帮助将SQL结果转换为
LIST
,通过该结果我实现了文件规范。
3.将其转换为.csv文件。
为了将SQL结果转换为CSV文件,我使用了FileHelpers Library,这比我预期的要简单。
希望它会对某人有所帮助。