现在的位置: 首页 > 综合 > 正文

C#读Excel小Bug

2013年09月01日 ⁄ 综合 ⁄ 共 763字 ⁄ 字号 评论关闭

最近用C#读Excel表中的数据库

     DataSet ds = new DataSet();
                    txtFile1.Text = openFileDialog1.FileName;
                    OleDbConnection XLSConnection = new OleDbConnection(
                        @"provider=Microsoft.Jet.OLEDB.4.0;data source=" + txtFile1.Text + ";Extended Properties=Excel 8.0;");

                    //Select configuration data from Excel file that make by customer
                    OleDbDataAdapter DA_DB = new OleDbDataAdapter("select * from [DBS$]", XLSConnection);
                    //Fill data into DataSet
                    DA_DB.Fill(ds, "DBS");
                   
                    this.dataGrid1.DataSource = ds;

结果碰到一个奇怪的Bug,有一列的值经常不正确。后来发现如果在打开Excel表的时候运行程序,读出的数据就是对的;如果不打开Excel表,该列读出的值就是null。

有人指点,新建一个Excel,将各列列名手动输入,再将数据粘入,读新建的表刚正常。试了,果然能行,无语。

后来还发现有时候空行过多,也会变成null行。

抱歉!评论已关闭.