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

Excel导入导出DataGridView

时间:2019-12-10 15:16:15      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:字符   exception   closed   office   style   new   object   dbconnect   first   

技术图片
 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;
            }
        }

Excel导入导出DataGridView

标签:字符   exception   closed   office   style   new   object   dbconnect   first   

原文地址:https://www.cnblogs.com/20191204C/p/12016295.html

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