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

本文关键字:文件 制表符 分隔 读取 | 更新日期: 2023-09-27 18:04:47

使用以下代码将一个以制表符分隔的文件读入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,然后通过列索引而不是名称读取表会更好吗?

真的不知道该走哪条路,希望能得到一些有经验的建议。

谢谢

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

既然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)));