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


试过网上大部分方法,都有错误,于是自己摸索了一下: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连接字符串,其向下兼容,故而不用分格式。

你可能感兴趣的:(C#读取Excel文件并用datagridview显示)