我们使用以下代码将制表符分隔文件读入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
然后按列索引而不是名称读取表格会更好吗?
真的不确定走哪条路,并会欣赏一些经验丰富的意见。
由于
答案 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)));