1
我已将从文本文件检索到的值存储到数组中。现在我试图用下面的代码将这些数组值存储到数据表中。将数组存储到数据表中
问题是,如果第一行有20个值,第二行有23个值,则在最后20(第一行列数)为空的数据表中创建43个单元格。这继续为每一行。有没有其他方式将数组存储到数据表中?
var reader = new StreamReader(File.OpenRead(@"d:\er.txt"));
var table = new DataTable("SampleTable");
while (!reader.EndOfStream)
{
var line = reader.ReadLine().Trim();
var values = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
string[] ee = values;
var newRow = table.NewRow();
for (int i = 0; i < ee.Length; i++)
{
table.Columns.Add();
newRow[i] = ee[i].Trim().ToString(); // like sample [0,0]
}
table.Rows.Add(newRow);
}
表格本质上是矩形的;你想在这里做什么? “成功”会是什么样子? –
显示你的输出表结构来清除你想要做什么..你无法像你期望的那样去处理DataTable。 –
该文件是分隔的,请考虑使用FileHelpers.Net直接访问数据表 - 它将消除您必须执行的任何解析。有关一种用法,请参阅http://stackoverflow.com/questions/1898/csv-file-imports-in-net。你可以使用任何你想要的分隔符,而不只是一个逗号。 – dash