用c#读取excel文件,写到datagridview控件中

string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1''" "  ;
            OleDbConnection conn = new OleDbConnection(strconn);
            conn.Open();
            if (bo == false)
            {
                comboBox1.Items.Clear();
                DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                foreach (DataRow dr in dt.Rows)
                {
                    comboBox1.Items.Add((String)dr["TABLE_NAME"]);
                    //MessageBox.Show((String)dr["TABLE_NAME"]);
                }
                //comboBox1.Text = comboBox1.Items[0].ToString();
            }
            else
            {
                string sql = "select * from " + comboBox1.Text;
                OleDbDataAdapter aper = new OleDbDataAdapter(sql, conn);
                DataSet myset = new DataSet();
                aper.Fill(myset, comboBox1.Text);
                dataGridView1.DataSource = myset.Tables[comboBox1.Text];
            }
            conn.Close();

 

备注:

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""

"HDR=Yes;" indicates that the first row contains columnnames, not data
"IMEX=1;" tells the driver to always read "intermixed" data columns as text

TIP! SQL syntax: "SELECT * FROM [sheet1$]" - i.e. worksheet name followed by a "$" and wrapped in "[" "]" brackets.

如果第一行是数据而不是标题的话, 应该写: "HDR=No;"

"IMEX=1;" tells the driver to always read "intermixed" data columns as text

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值