如何从excel用C#填写数据表
我使用以下代码将数据从Excel2007电子表格选项卡导入数据表如何从excel用C#填写数据表,c#,excel-2007,C#,Excel 2007,我使用以下代码将数据从Excel2007电子表格选项卡导入数据表 DataTable dtImport1 = new DataTable(); DataTable dtImport2 = new DataTable(); DataTable dtImport3 = new DataTable(); string strRange1; st
DataTable dtImport1 = new DataTable();
DataTable dtImport2 = new DataTable();
DataTable dtImport3 = new DataTable();
string strRange1;
string strRange2;
string strRange3;
strRange1 = "A0:I22000";
strRange2 = "A22000:I41999";
strRange3 = "A41999:I58432";
OleDbDataAdapter cmdExcel1 = new OleDbDataAdapter("select * from [" + importTabs[i].ToString() + "$" + strRange1 + "]", connExcel);
cmdExcel1.Fill(dtImport1);
dtImport1.AcceptChanges();
OleDbDataAdapter cmdExcel2 = new OleDbDataAdapter("select * from [" + importTabs[i].ToString() + "$" + strRange2 + "]", connExcel);
cmdExcel2.Fill(dtImport2);
dtImport2.AcceptChanges();
OleDbDataAdapter cmdExcel3 = new OleDbDataAdapter("select * from [" + importTabs[i].ToString() + "$" + strRange3 + "]", connExcel);
cmdExcel3.Fill(dtImport3);
dtImport3.AcceptChanges();
目前的情况如下:
dtImport1可以很好地导入范围
第二个数据表dtImport2导入时没有错误,但最后一条记录仍然部分填充
dtimport3根本不导入,并提供以下异常:
“此表包含在此电子表格中定义的单元格范围之外的单元格”
如何改进代码,使其从excel中拾取所有行而不出现任何错误
其他信息:
我在excel中有大约58433行需要导入的数据
从.xlsx(2007 Excel)导入
我试图只使用一个datatable并导入整个选项卡,但它给了我与dtImport3数据表相同的错误
感谢您的帮助 您可以查看以下文章
希望能有所帮助。
问候。您可以查看以下文章
希望能有所帮助。
问候。您是否确定您的电子表格是“干净的”,即没有奇怪的格式或电子表格末尾的数据?如果您尝试只导入最后一行,会发生什么情况?能否显示您的连接字符串?只是猜测一下,但是如果您使用的是旧的OLEDB驱动程序,可能会发生这种情况?是的,电子表格是干净的,没有格式错误。数据表对可以输入的数据量有限制吗?或者填写?您确定您的电子表格是“干净的”,即没有奇怪的格式,或者电子表格末尾没有数据吗?如果您尝试只导入最后一行,会发生什么情况?能否显示您的连接字符串?只是猜测一下,但是如果您使用的是旧的OLEDB驱动程序,可能会发生这种情况?是的,电子表格是干净的,没有格式错误。数据表对可以输入的数据量有限制吗?或者是填?