读取制表符分隔文件到表中

时间:2013-03-20 13:48:34

标签: c# asp.net datatable tab-delimited

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

//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然后按列索引而不是名称读取表格会更好吗?

真的不确定走哪条路,并会欣赏一些经验丰富的意见。

由于

1 个答案:

答案 0 :(得分: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)));