码迷,mamicode.com
首页 > Windows程序 > 详细

将Excel数据导入c#的datagridview

时间:2017-04-27 11:43:52      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:excel导入c#

//需要引入的命名空间

using System.Runtime.InteropServices;//获取鼠标事件

using System.IO;

using System.Data.OleDb;


//核心代码

 private void button1_Click(object sender, EventArgs e)

        {

OpenFileDialog ofd = new OpenFileDialog();//首先根据打开文件对话框,选择要打开的文件

            ofd.Filter = "Excel表格|*.xlsx|Excel97-2003表格|*.xls|所有文件|*.*";//打开文件对话框筛选器,默认显示文件类型

            string strPath;//定义文件路径

            if (ofd.ShowDialog() == DialogResult.OK)

            {

                try

                {

                    strPath = ofd.FileName;

                    //string sss = ofd.SafeFileName;//获取文件名称

                    string fileType = System.IO.Path.GetExtension(strPath);//获取文件的后缀

                    string strCon = "";

                    if (fileType == ".xls")//如果为97-2003格式文件

                    {

                        strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strPath + ";Extended Properties=‘Excel 8.0;HDR=YES;IMEX=1‘";

                    }

                    else//如果为2007格式文件

                    {

                        strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+strPath+";Extended Properties=‘Excel 12.0;HDR=YES;IEMX=1‘";

                    }

                    OleDbConnection conn=new OleDbConnection(strCon);

                    Application.DoEvents();

                    string strSql = "select * from [Sheet1$]";

                    OleDbCommand Cmd= new OleDbCommand(strSql,conn);

                    OleDbDataAdapter da = new OleDbDataAdapter(Cmd);

                    DataSet ds = new DataSet();

                    da.Fill(ds,"插入表");

                    dataGridView1.DataSource=ds.Tables[0];

                    dataGridView1.AllowUserToAddRows = false;

                    dataGridView1.AllowUserToDeleteRows = false;

                    //MessageBox.Show(sss);


                }

                catch (Exception ex)

                {


                    MessageBox.Show(ex.Message);//捕捉异常

                }

            }

        }


本文出自 “无聊生活_积极面对” 博客,请务必保留此出处http://321331.blog.51cto.com/311331/1919852

将Excel数据导入c#的datagridview

标签:excel导入c#

原文地址:http://321331.blog.51cto.com/311331/1919852

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!