C#读取Excel文件并用datagridview显示

来源:互联网 发布:java编写口令红包 编辑:程序博客网 时间:2024/04/30 22:13


试过网上大部分方法,都有错误,于是自己摸索了一下:Csharp 代码如下


        public static DataSet GetExcelData(string str)        {            string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + str + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";            OleDbConnection myConn = new OleDbConnection(strCon);            string strCom = " SELECT * FROM [Sheet1$]";            myConn.Open();            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);            DataSet myDataSet = new DataSet();            myCommand.Fill(myDataSet, "[Sheet1$]");            myConn.Close();            return myDataSet;        }        private void ReadExcelMenu_Click(object sender, EventArgs e)        {            OpenFileDialog filedialog = new OpenFileDialog();            string FileName = "";            if (filedialog.ShowDialog() == DialogResult.OK)            {                FileName = filedialog.FileName;                                dGViewExcel.DataSource = GetExcelData(FileName);                dGViewExcel.DataMember = "[Sheet1$]";                                for (int count = 0; (count <= (dGViewExcel.Rows.Count - 1)); count++)                {                    dGViewExcel.Rows[count].HeaderCell.Value = (count + 1).ToString();                }            }        }


需要说明的是,无论是2003版的xls 还是2007 的xlsx,都是可以的,本文使用2007 的excel连接字符串,其向下兼容,故而不用分格式。

0 0
原创粉丝点击