我正在将Excel导入DataTable。 excel文件包含带有数据的50x7单元格。 问题是Fill()方法导入368(?)行,而不管数据是否在前50行中。知道可能是什么问题吗?
我正在使用OleDbDataAdapter进行导入。
connectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=Excel 8.0;";
string commandString = "select * from [" + worksheetName + "]";
OleDbDataAdapter adapter = new OleDbDataAdapter(commandString, connectionString);
DataTable fileTable = new DataTable();
adapter.Fill(fileTable);
答案 0 :(得分:1)
尝试此操作以从DataTable
adapter.Fill(fileTable);
fileTable = fileTable.AsEnumerable()
.Where(row => !row.ItemArray.All(f => f is System.DBNull || String.IsNullOrWhiteSpace(f.ToString())))
.CopyToDataTable();
请注意,它还会删除工作表内的空行。