并不是所有的数据从EXCELL转换到数据库
问题描述:
插入我有这样的代码:并不是所有的数据从EXCELL转换到数据库
ConnectString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ExcelFile + ";Extended Properties=\"Excel 12.0 Xml;HDR=No\"";
SheetName = SheetName.Substring(0, SheetName.Length - 5);
OleDbConnection Connection = new OleDbConnection();
Connection.ConnectionString = ConnectString;
try {Connection.Open();}
catch (Exception EX)
{
MessageBox.Show(EX.Message);
}
OleDbDataAdapter Command = new OleDbDataAdapter("SELECT * FROM [" + SheetName + "$]", Connection);
DataSet ExcelData = new DataSet();
try {Command.Fill(ExcelData);}
catch (Exception EX)
{
MessageBox.Show(EX.Message);
}
finally
{
if (Connection.State != ConnectionState.Closed)
Connection.Close();
}
但不是所有的在第1列插入数据 - 我得到空的数据,为什么?什么可能是错误的?
感谢的提前
答
从Excel导入时,该列的数据类型是默认孰料基于前八行的内容。如果给定列的前8行中的值为空白,则根本不会导致列的任何数据。这可以在注册表中重写。我会建议调查这种可能性。这是一个很好的写法。
是的!!!如果我从大到小排序它的工作很好 但我怎么能没有排序呢? – Gold 2009-12-21 18:01:04
按照该帖子中的描述更新注册表项。这会迫使提供者在分配数据类型之前读取整个文件,因此如果您处理非常大的文件,性能可能会受到影响。 – cmsjr 2009-12-21 18:08:45
我更新注册表项 - 但仍然不起作用。 也许是因为我有Windows 7? – Gold 2009-12-22 06:48:58