zoukankan      html  css  js  c++  java
  • Excel导入导出DataGridView

     1  /// <summary>
     2         /// excel表保存到dataTable中
     3         /// </summary>
     4         /// <param name="path">excel表路径</param>
     5         /// <returns>返回第一个sheet表</returns>
     6         private static DataTable ExcelToDataTable(string path)
     7         {
     8             DataTable dt = new DataTable();
     9             try
    10             {
    11                 //连接字符串     
    12                 string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本 不能出现多余的空格 而且分号注意          
    13                 //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本     
    14                 using (OleDbConnection conn = new OleDbConnection(connstring))
    15                 {
    16                     conn.Open();
    17                     DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字   
    18                     string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字      
    19                     string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串  
    20                     //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串   
    21                     OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
    22                     DataSet set = new DataSet();
    23                     ada.Fill(set);
    24                     dt = set.Tables[0];
    25                 }
    26                 return dt;
    27             }
    28             catch (Exception ex)
    29             {
    30                 MessageBox.Show(ex.Message);
    31                 return null;
    32             }
    33         }
    View Code

     /// <summary>
            /// excel表保存到dataTable中
            /// </summary>
            /// <param name="path">excel表路径</param>
            /// <returns>返回第一个sheet表</returns>
            private static DataTable ExcelToDataTable(string path)
            {
                DataTable dt = new DataTable();
                try
                {
                    //连接字符串    
                    string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本 不能出现多余的空格 而且分号注意         
                    //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本    
                    using (OleDbConnection conn = new OleDbConnection(connstring))
                    {
                        conn.Open();
                        DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字  
                        string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字     
                        string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串 
                        //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串  
                        OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
                        DataSet set = new DataSet();
                        ada.Fill(set);
                        dt = set.Tables[0];
                    }
                    return dt;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return null;
                }
            }

     1         /// <summary>
     2         /// excel表保存到dataTable中
     3         /// </summary>
     4         /// <param name="path">excel表路径</param>
     5         /// <returns>返回第一个sheet表</returns>
     6         private static DataTable ExcelToDataTable(string path)
     7         {
     8             DataTable dt = new DataTable();
     9             try
    10             {
    11                 //连接字符串     
    12                 string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本 不能出现多余的空格 而且分号注意          
    13                 //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本     
    14                 using (OleDbConnection conn = new OleDbConnection(connstring))
    15                 {
    16                     conn.Open();
    17                     DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字   
    18                     string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字      
    19                     string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串  
    20                     //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串   
    21                     OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
    22                     DataSet set = new DataSet();
    23                     ada.Fill(set);
    24                     dt = set.Tables[0];
    25                 }
    26                 return dt;
    27             }
    28             catch (Exception ex)
    29             {
    30                 MessageBox.Show(ex.Message);
    31                 return null;
    32             }
    33         }
    View Code

    网上查找的方法,忘记在哪找的了,在这记录下:

     /// <summary>
            /// excel表保存到dataTable中
            /// </summary>
            /// <param name="path">excel表路径</param>
            /// <returns>返回第一个sheet表</returns>
            private static DataTable ExcelToDataTable(string path)
            {
                DataTable dt = new DataTable();
                try
                {
                    //连接字符串    
                    string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本 不能出现多余的空格 而且分号注意         
                    //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本    
                    using (OleDbConnection conn = new OleDbConnection(connstring))
                    {
                        conn.Open();
                        DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字  
                        string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字     
                        string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串 
                        //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串  
                        OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
                        DataSet set = new DataSet();
                        ada.Fill(set);
                        dt = set.Tables[0];
                    }
                    return dt;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return null;
                }
            }

  • 相关阅读:
    不要盲目使用新技术,说的就是你,asp.net core!
    MySQL5.7官方文档翻译-innodb事务模型与锁
    Springboot+JPA下实现简易爬虫--爬取豆瓣电视剧数据
    volatile型变量语义讲解一 :对所有线程的可见性
    VAE《放肆》如约而至: 递归算法 + Stream函数式编程 + Lambda相遇实现树状结构
    设计模式(4)——单例模式的学习及其六大战将
    微服务分布式电商项目学习笔记(三)---- docker介绍安装以及使用docker安装软件(2020/7/10)
    杭州生鲜配送管理系统_关于猪肉分割分拆与水果分等级包装的库存与成本计算的若干思考与系统界面设计_升鲜宝供应链管理系统_15382353715
    杭州生鲜配送管理系统_升鲜宝_强烈要求蔬东坡软件公司给出书面的道歉。蔬东坡软件公司利用莫须有的事实来诋毁与打击同行,不道德的竞争手段,来获取市场(一)
    杭州生鲜配送管理系统_升鲜宝_强烈要求蔬东坡软件公司给出书面的道歉。记蔬东坡软件公司利用莫须有的事实来诋毁与打击同行,不道德的竞争手段,来争取市场(三)
  • 原文地址:https://www.cnblogs.com/20191204C/p/12016295.html
Copyright © 2011-2022 走看看