我有一些简单的代码,可以从.csv文件加载DataTable,如果它包含头的话.现在,我需要从没有头文件的文件中加载DataTable.我希望设置HasHeaderRecord=FALSE,并且将使用缺省标头(Field1、Field2,...)创建DataTable.情况并非如此,我可以看到CsvReader读取了记录,但由于没有头,所以在DataTable中没有创建列.这看起来应该很简单,我错过了什么?此外,由于文件是动态的,因此不能使用类映射对其进行硬编码或加载.
var dt = new DataTable();
var csvConfig = new CsvConfiguration(CultureInfo.InvariantCulture)
{
HasHeaderRecord = false
};
var enc = System.Text.ASCIIEncoding.UTF8;
using (var reader = new StreamReader(FileName, enc, true))
using (var csv = new CsvReader(reader, csvConfig))
{
// Do any configuration to `CsvReader` before creating CsvDataReader.
using (var dr = new CsvDataReader(csv))
{
dt.Load(dr);
}
}