2013-05-06 103 views
1

我试图从数据库中获取数据并将其导出到.csv文件格式,这与ETL process类似。但我想在C#中这样做。从数据库获取数据并将其导出到.csv文件

  1. SQL查询从数据库中提取数据。
  2. 格式的数据到指定文件规范。
  3. 将其转为.csv文件。

我知道第一步很容易做到,我正在努力寻找第二步和第三步的方法。

+1

还有一个堆栈上的美丽类,它可以支持通用列表 [http://stackoverflow.com/questions/2422212/simple-c-sharp-csv-excel-export-class] http:// stackoverflow .COM /问题/ 2422212 /简单-C锋利的CSV Excel的出口类 – sstassin 2013-05-06 14:02:43

回答

4

因为你没有说明,但写作的CSV文件是很容易的,我不能在文件规范意见。与XML等不同,格式非常简单,您可以使用WriteLine直接写入StreamWriter。您只需输出包含以逗号分隔的列名的第一行,然后从SQL Query返回的每一行按相同的顺序写入列值,并用逗号分隔。唯一真正的陷阱就是逃跑,例如通过用引号包围每个值并转义值中的任何引号来处理逗号,引号等。下面

的例子就是这样做的一个数据表:

http://dotnetguts.blogspot.co.nz/2007/01/exporting-datatable-to-csv-file-format.html

+0

感谢大卫,我会尝试这个方法。 – Praveen 2013-05-06 14:30:47

0

我想出了一个简单而有效的方式做到这一点:

1.SQL查询从数据库中提取数据。
2.将数据格式化为指定的文件规范。

对于第2步,我已经使用了Dapper.NET,这 照顾数据库部分以及格式。 小巧玲珑帮助转换SQL结果到LIST由我完成的文件规范

3.Convert它.csv文件。

为了将SQL结果转换为CSV文件,我使用了比预期更简单的FileHelpers Library

希望它会帮助别人。

相关问题