使用csvhelper将数据表导出到csv [英] Export datatable to csv using csvhelper
本文介绍了使用csvhelper将数据表导出到csv的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用库csvhelper将名为CHAIN的现有数据表(不是数据集)导出到csv文件。看起来我需要创建一个新的数据表并将CHAIN加载到其中,而不是仅仅迭代CHAIN,但我不知道如何做到这一点。请看下面的代码,让我知道什么是错的?
我尝试过:
I'm trying to use the library csvhelper to export an existing datatable (not a dataset) called CHAIN to a csv file. It looks like I need to create a new datatable and load CHAIN into it, rather than just iterate over CHAIN, but I'm not sure how to do this. Please take a look at the code below and let me know what's wrong?
What I have tried:
public void EXPORT_CSV()
{
using (var textWriter = File.CreateText(@"D:\Temp\NewCsv.csv"))
using (var csv = new CsvWriter(textWriter))
using (var DT = new DataTable())
{
//dt.Load(CHAIN); not sure how to do this
// Write columns
foreach (DataColumn column in DT.Columns) //copy datatable CHAIN to DT, or just use CHAIN
{
csv.WriteField(column.ColumnName);
}
csv.NextRecord();
// Write row values
foreach (DataRow row in DT.Rows)
{
for (var i = 0; i < DT.Columns.Count; i++)
{
csv.WriteField(row[i]);
}
csv.NextRecord();
}
}
}
推荐答案
根据您的代码,看起来您只需要使用(var DT = new DataTable())行删除,并用<$替换每个对
:DT
的引用c $ c> CHAIN
Based on your code, it looks like you just need to remove theusing (var DT = new DataTable())
line, and replace each reference toDT
withCHAIN
:
public void EXPORT_CSV()
{
using (var textWriter = File.CreateText(@"D:\Temp\NewCsv.csv"))
using (var csv = new CsvWriter(textWriter))
{
// Write columns
foreach (DataColumn column in CHAIN.Columns)
{
csv.WriteField(column.ColumnName);
}
csv.NextRecord();
// Write row values
foreach (DataRow row in CHAIN.Rows)
{
for (var i = 0; i < CHAIN.Columns.Count; i++)
{
csv.WriteField(row[i]);
}
csv.NextRecord();
}
}
}
这是在文档中。 CsvHelper [ ^ ]
This is in the documentation. CsvHelper[^]
这篇关于使用csvhelper将数据表导出到csv的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文