我有一个xls 文件。其中有以下数据。
现在我想将值插入到数据表dt1中。我只想要一个简单的c#简单程序。没有api / dll。我试过的内容如下:
string strfilename = "";
DataTable dt = new DataTable();
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
{
strfilename = openFileDialog1.InitialDirectory + openFileDialog1.FileName;
}
string[] csvRows = System.IO.File.ReadAllLines(strfilename); ;
string[] fields = null;
foreach (string csvRow in csvRows)
{
fields = csvRow.Split(',');
DataRow row = dt.NewRow();
row.ItemArray = fields;
dt.Rows.Add(row);
}
这里我的csvRow应该找到7行。但它得到131行。它们对我来说是不可读的。某种象征性的。
答案 0 :(得分:1)
您已创建了一个DataTable,但尚未在其中定义任何列(AKA架构) 您需要拥有至少相同数量的列,因为CSV文件中存在多个字段(逗号分隔)
在进入阅读循环之前添加此内容
string[] csvRows = System.IO.File.ReadAllLines(strfilename);
for(int x = 0; i < csvRows.Length; x++)
dt.Columns.Add("Col" + x.ToString());
现在,您的ItemArray与您的csv具有相同数量的“列”。
答案 1 :(得分:0)