C#读取EXCEL中的数据(2)

来源:互联网 发布:手机淘宝怎么申请帐号 编辑:程序博客网 时间:2024/05/17 06:50

我们已经得到了文件名,下面我们就读取文件里面的数据放在数据网格视图中。
显示数据代码如下:

//连接的是Excel8.0,HDR=YES;有两个值:YES/NO,yes说了你是否能直接读列名,NO,只可以读下标,IMEX = 1;//解决数字与字符混合时,识别不正常的情况.
OleDbConnection Connection ;
            try
            {
                Connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + MyExcel + ";Extended Properties=/"Excel 8.0;HDR=YES;IMEX=1/"");

                Connection.Open();

               string sql = "select * from ["Sheet1"$]";Sheet1表文件中第一个表名

                  OleDbCommand MyCommand = new OleDbCommand(sql, Connection);

            OleDbDataAdapter MyAdapter = new OleDbDataAdapter(sql, Connection);

                DataSet MySet = new DataSet();

                MyAdapter.Fill(MySet);

                this.dataGridView1.DataSource = MySet.Tables[0];

            }

            catch (Exception MyEx)

            {

                MessageBox.Show(MyEx.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }

            finally

            {

                Connection.Close();

            }
这样文件中的数据就能在数据网格里面显示了,跟数据库中表的数据在数据网格里面显示其实都差不多。

 

但是有一个问题,这个方法不会自动识别EXCEL中的列的数量,造成了DATAGRIDVIEW的宽度出现一些问题,同时,如果EXCEL中有一些合并的行或者列的话那这个方法就不行了,会出现异常,现在还没有找到方法来解决。

原创粉丝点击