2
嘿我正在使用DataAdapter来读取一个Excel文件,并用这些数据填充数据表。OleDbDataAdapter没有填满所有的行
这是我的查询和连接字符串。
private string Query = "SELECT * FROM Sheet1";
private string ConnectString = "Provider=Microsoft.ACE.OLEDB.12.0;"
+ "Data Source=\"" + Location + "\";"
+ "Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";
OleDbDataAdapter DBAddapter = new OleDbDataAdapter(Query, ConnectString);
DataTable DBTable = new DataTable();
DBAddapter.Fill(DBTable);
问题是我的excel文件有12000条记录,但它只填充2502条记录到我的数据表中。
数据适配器可以读取和写入数据表的数量有限制吗?
你确定'Sheet1'包含'12000'记录吗? 'DataTable'可能有一些限制,但并不那么小。你可以用'Sheet1 $'替换'Sheet1'吗? –
我以为你必须用“[...]”来包围sheetname,当然还要添加$到像King King那样的表单名称 –
这不是我在查询中添加表单名称的方式。它获取正确的表名,因为我正在获取一些数据。我认为是因为我复制并将数据粘贴到excel文件中,它可能没有格式化,以便oleDBAdapter可能读取它。我在我的实际代码中使用这样的表名。 [ “+ sheetNames [0] +”] – Mitch