使用FileHelpers.CsvEngine.DataTableToCsv
. 我无法BeforeWriteRecord
像以前那样挂钩 "" 事件FileHelperEngine
。是否有可能在 CSVEngine 类中挂钩操作。
问问题
531 次
1 回答
0
该类CSVEngine
当前(版本 2.9.9)不支持该BeforeWriteRecord
事件。我认为原因是BeforeWriteRecordEventArgs
期望 FileHelpers 记录类在从DataTable
.
的代码DataTableToCsv
是一个简单的静态方法,因此很容易提供您自己的替换。代码在这里并引用如下:
public static void DataTableToCsv(DataTable dt, string filename, CsvOptions options)
{
using (var fs = new StreamWriter(filename, false, options.Encoding, EngineBase.DefaultWriteBufferSize))
{
foreach (DataRow dr in dt.Rows)
{
object[] fields = dr.ItemArray;
for (int i = 0; i < fields.Length; i++)
{
if (i > 0)
fs.Write(options.Delimiter);
fs.Write(options.ValueToString(fields[i]));
}
fs.Write(StringHelper.NewLine);
}
fs.Close();
}
}
于 2012-02-22T09:35:31.843 回答