C# 读取Excel文件

1.引入相应的命名空间:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.   
  5. using System.Windows.Forms;  
  6. using System.Data;  
  7. using System.Data.OleDb;  
  8. using System.Data.SqlClient;  

2.读取Excel文件,将内容存储在DataSet中 

  1. /// <summary>  
  2.        /// 读取Excel文件,将内容存储在DataSet中  
  3.        /// </summary>  
  4.        /// <param name="opnFileName">带路径的Excel文件名</param>  
  5.        /// <returns>DataSet</returns>  
  6.        public static DataSet ExcelToDataSet(string opnFileName)  
  7.        {  
  8.            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + opnFileName + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";  
  9.            OleDbConnection conn = new OleDbConnection(strConn);  
  10.            string strExcel = "";  
  11.            OleDbDataAdapter myCommand = null;  
  12.            DataSet ds = new DataSet();  
  13.            strExcel = "select * from [sheet1$]";  
  14.            try  
  15.            {  
  16.                conn.Open();  
  17.                myCommand = new OleDbDataAdapter(strExcel, strConn);  
  18.                myCommand.Fill(ds, "dtSource");  
  19.                return ds;  
  20.            }  
  21.            catch (Exception ex)  
  22.            {  
  23.                //MessageBox.Show("导入出错:" + ex, "错误信息");  
  24.                Console.WriteLine(ex);  
  25.                return ds;  
  26.            }  
  27.            finally  
  28.            {  
  29.                conn.Close();  
  30.                conn.Dispose();  
  31.            }  
  32.        }  

3.将读取出来的数据插入到数据库

  1. /// <summary>  
  2. /// 保存所有信息  
  3. /// </summary>  
  4. public static void SaveAll(DataSet ds)  
  5. {  
  6.     foreach (DataRow row in ds.Tables[0].Rows)  
  7.     {  
  8.         Console.WriteLine("{0}\t{1}\t{2}", row[0], row[1], row[2]);  
  9.   
  10.         UserInfo userinfo = new UserInfo();  
  11.         userinfo.UserName = (string)row[1];  
  12.         userinfo.UserPwd = (string)row[2];  
  13.   
  14.         add(userinfo);  
  15.     }  
  16. }  
  17.   
  18.   
  19. private static void add(UserInfo userinfo)  
  20. {  
  21.     string sqlCon = "Server=.;uid=sa;pwd=123;DataBase=accp"//连接字符串  
  22.     SqlConnection con = new SqlConnection(sqlCon); //获取连接对象  
  23.   
  24.     SqlCommand com = new SqlCommand("insert into userinfo values('" + userinfo.UserName + "','" + userinfo.UserPwd + "')", con);  
  25.     con.Open();  
  26.     int rows = com.ExecuteNonQuery();  
  27.     if (con != null)  
  28.     {  
  29.         con.Close();  
  30.     }  
  31. }  
posted @ 2011-05-06 13:58  许明吉博客  阅读(539)  评论(0编辑  收藏  举报