我有这段代码:
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列中的所有数据都插入 - 我得到空数据为什么?什么可能是错的?
提前谢谢
答案 0 :(得分:1)
从Excel导入时,默认情况下会根据前八行的内容猜测列的数据类型。如果给定列的前8行中的值为空,则可能导致该列没有数据。这可以在注册表中重写。我建议调查这种可能性。这是一篇很好的文章。