2

DataTable我们使用以下代码将制表符分隔的文件读入 a 。

//read the uploaded file...
    var records = File.ReadAllLines(Server.MapPath("~/UploadFiles/") + Session.SessionID + "/orderEDI.txt").ToList();
    //load the data into the temporary table...
    records.ForEach(record => loadTable.Rows.Add(record.Split((char)9)));

如果文件中的选项卡不超过 DataTable 中的列,则此方法工作得很好。

我正在寻找是否有办法限制它从文件中读取的列数。或有关此问题的任何其他建议。它必须至少读取 10 列(理想情况下,只有 10 列)

DataTable在此负载发生之前,我构建并添加列。不添加列并仅将文件加载到DataTable然后按列索引而不是名称读取表会更好吗?

真的不知道该走哪条路,并希望得到一些有经验的意见。

谢谢

4

1 回答 1

0

既然 split 会产生一个数组,为什么不直接使用 Take(10) 呢?

//read the uploaded file...
    var records = File.ReadAllLines(Server.MapPath("~/UploadFiles/") + Session.SessionID + "/orderEDI.txt").ToList();
    //load the data into the temporary table...
    records.ForEach(record => loadTable.Rows.Add((record.Split((char)9)).Take(10)));

于 2013-03-20T14:49:39.053 回答