首页 WinForm/WPF winform打开Excel读取数据并显示到datagridview中

winform打开Excel读取数据并显示到datagridview中

作者:胡同里的砖头 围观群众:2231 更新于:2013-12-19

引用命名空间:

using System.Data.OleDb;

界面:

放一个打开按钮,一个显示按钮,一个combobox

后台:

/// <summary>  
      /// 选择相应的Excel文件   (打开Excel按钮事件)
      /// </summary>  
      /// <param name="sender"></param>  
      /// <param name="e"></param>  
        private void button1_Click(object sender, EventArgs e)  
      {  
         try 
         {  
            //获取Excel文件路径和名称  
            OpenFileDialog odXls = new OpenFileDialog();  
            // 指定相应的打开文档的目录  
            odXls.InitialDirectory = "C:\\";  
            // 设置文件格式  
            odXls.Filter = "Excel files (*.xls)|*.xls";  
            odXls.FilterIndex = 2;  
            odXls.RestoreDirectory = true;  
            if (odXls.ShowDialog() == DialogResult.OK)  
            {  
               label2.Text = odXls.FileName;  
               OleDbConnection oledbConn = null;  
               string sConnString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + odXls.FileName + ";Extended Properties=Excel 5.0;Persist Security Info=False";  
               oledbConn = new OleDbConnection(sConnString);  
               oledbConn.Open();  
               DataTable dt = oledbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });  
               comboBox1.Items.Clear();  
               foreach (DataRow dr in dt.Rows)  
               {  
                  comboBox1.Items.Add((String)dr["TABLE_NAME"]);  
               }  
               if (comboBox1.Items.Count > 0)  
                  comboBox1.SelectedIndex = 0;  
            }  
         }  
         catch (Exception Ex)  
         {
             MessageBox.Show(Ex.Message);
         }  
      }
        /// <summary>  
        ///  读取相应的表名的Excel文件中数据到当前DataGridview中显示   (显示数据按钮事件)
        /// </summary>  
        /// <param name="sender"></param>  
        /// <param name="e"></param>  
        private void button2_Click(object sender, EventArgs e)
        {
            OleDbConnection ole = null;
            OleDbDataAdapter da = null;
            DataTable dt = null;
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"
                             + "Data Source=" + label2.Text.Trim() + ";"
                             + "Extended Properties=Excel 5.0";
            string sTableName = comboBox1.Text.Trim();
            string strExcel = "select * from [" + sTableName + "]";
            try
            {
                ole = new OleDbConnection(strConn);
                ole.Open();
                da = new OleDbDataAdapter(strExcel, ole);
                dt = new DataTable();
                da.Fill(dt);
                dataGridView1.DataSource = dt;
                ole.Close();
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message);
            }
            finally
            {
                if (ole != null)
                    ole.Close();
            }
        }

  • 本文标题: winform打开Excel读取数据并显示到datagridview中
  • 文章分类:【WinForm/WPF】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8