并非所有数据都插入从excel转换为数据库

时间:2009-12-21 15:27:09

标签: c# excel-2007

我有这段代码:

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列中的所有数据都插入 - 我得到空数据为什么?什么可能是错的?

提前谢谢

1 个答案:

答案 0 :(得分:1)

从Excel导入时,默认情况下会根据前八行的内容猜测列的数据类型。如果给定列的前8行中的值为空,则可能导致该列没有数据。这可以在注册表中重写。我建议调查这种可能性。这是一篇很好的文章。

http://blog.lab49.com/archives/196