在c#应用程序中实现从Excel文件导入数据,但是为什么每次导入都会多出三空白行的,以下是程序片段:
string FileName;
            openFileDialog1.Filter = "Excle文件(*.xls)|*.xls";            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                FileName = openFileDialog1.FileName;                string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + FileName + "';Extended Properties=Excel 8.0";                DataSet myDataset = new DataSet();
                OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", constr);
                da.Fill(myDataset);
                //显示在dataGridView1
                try
                {                    dataGridView1.DataSource = myDataset.Tables[0];                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }

解决方案 »

  1.   

    可能是你的Excel文件里有空格
    你换一个文件试试.
      

  2.   

    Excel格式比较复杂,经常出现空白行。如果不影响运行,把空白行去掉即可。
      

  3.   

    是的,在SELECT * FROM [Sheet1$]加上过滤空白的条件也行
      

  4.   

    你可以在程序中加入判断条件,如果所读取的 Excel 单元格内容为空,则不进行任何操作,这样就可以把空行过滤掉。
    当然,在 Excel 中删除的时候,应该把整行都删除,而不仅仅是删除内容,这样就不会出现多余的空行了。
      

  5.   

    我已经查出来了,原来程序是没问题的,只是我的Excel那里多了三个空白行,Excel每行都有默认的高度,如果其它行的高度变的,或者数据,系统都会认为是数据行,也会把它算进去的,谢谢大家啊!!!