C#读取Excel中数据并插入到数据库中

开发 后端
这里将介绍如何利用C#读取Excel中数据并插入到数据库中,具体步骤是上传选择的xls文件,根据得到路径,读取文件信息,插入到数据库中。

C#读取Excel中数据,首先上传选择的xls文件,根据得到路径,读取文件信息,插入到数据库中。 

  1. using System.Data;     
  2. using System.Data.OleDb;     
  3. using System.IO;     
  4. using System.Text; protected void Page_Load(object sender, EventArgs e)     
  5.  {               
  6.  }     
  7.  public void ExcelToDS(string path)     
  8.     {      
  9.         string strSheetName = "sheet1";     
  10.         string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";     
  11.         //Sql语句      
  12.         string strExcel = "select * from  [" + strSheetName + "$] ";               
  13.         DataSet ds = new DataSet();     
  14.        //连接数据源      
  15.         OleDbConnection conn = new OleDbConnection(strConn);      
  16.         conn.Open();     
  17.     
  18.         //适配到数据源      
  19.         OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn);     
  20.         adapter.Fill(ds, "data");     
  21.     
  22.         conn.Close();     
  23.     
  24.         GridView1.DataSource = ds.Tables["data"];     
  25.         GridView1.DataBind();       
  26.         Label1.Text = ds.Tables[0].Rows.Count.ToString();     
  27.         SqlAccess.Sqldatabase sql = new SqlAccess.Sqldatabase();     
  28.         StringBuilder sb = new StringBuilder();     
  29.         for (int i = 0; i < ds.Tables[0].Rows.Count; i++)     
  30.         {     
  31.     
  32.             sb.Append("insert into data values('" + ds.Tables[0].Rows[i]["companyname"] + "','" + ds.Tables[0].Rows[i]["telname"] + "','" + ds.Tables[0].Rows[i]["qytel"] + "','" + ds.Tables[0].Rows[i]["fax"] + "');");     
  33.     
  34.         }     
  35.         sql.ExecuteNonQuery(CommandType.Text, sb.ToString());     
  36.     
  37.     }     
  38.     protected void Button1_Click(object sender, EventArgs e)     
  39.     {     
  40.         string fileName = null;     
  41.         try    
  42.         {     
  43.             Boolean fileOK = false;     
  44.             String path = Server.MapPath("./doc/");     
  45.             if (FileUpload2.HasFile)     
  46.             {     
  47.                 String fileExtension =     
  48.                     System.IO.Path.GetExtension(FileUpload2.FileName).ToLower();     
  49.                 String[] allowedExtensions =      
  50.                 { ".xls" };     //C#读取Excel中数据
  51.                 for (int i = 0; i < allowedExtensions.Length; i++)     
  52.                 {     
  53.                     if (fileExtension == allowedExtensions[i])     
  54.                     {     
  55.                         fileOK = true;     
  56.                     }     
  57.                 }     
  58.             }     
  59.     
  60.             if (fileOK)     
  61.             {     
  62.                fileName = "r_" + DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + DateTime.Now.Millisecond +     
  63.                     System.IO.Path.GetExtension(FileUpload2.FileName).ToLower();     
  64.                 if (File.Exists(path + fileName))     
  65.                 {     
  66.                     Random rnd = new Random(10000);     
  67.                     fileName = fileName + rnd.Next();     
  68.                 }     
  69.     
  70.                 FileUpload2.PostedFile.SaveAs(path     
  71.                     + fileName);     
  72.                    
  73.     
  74.             }     
  75.             else    
  76.             {     
  77.                      
  78.             }     
  79.         }     
  80.         catch (Exception exp)     
  81.         {     
  82.         }     
  83.         ExcelToDS(Server.MapPath(".") + "\\doc\\"+fileName);     
  84.     
  85.     }   

C#读取Excel中数据并插入到数据库中就介绍到这里。

【编辑推荐】

  1. C#数据库查询和操作大全
  2. 浅析C#扩展方法
  3. C# Singleton的使用及优缺点探讨
  4. 详细分析C#数据库连接池
  5. C#数据库备份及还原的实现代码
责任编辑:彭凡 来源: javaeye
相关推荐

2009-08-12 16:39:50

C#向Excel插入数

2010-08-26 16:34:12

DB2Excel读取

2011-03-17 15:59:37

c#数据库

2024-09-20 18:02:42

C#数据库SQLite

2009-08-13 10:27:28

C#读取Excel数据

2009-08-11 15:22:57

C#读Excel

2011-08-01 16:10:11

XCode Excel 数据库

2009-08-07 15:33:11

C#数据库编程

2009-08-13 16:44:45

C#数据转换

2009-08-11 14:32:06

C#读取Excel数据

2024-04-18 09:56:16

2009-03-19 10:08:09

C#数据库查询

2009-08-11 13:35:13

C# Berkeley

2010-10-26 15:21:11

连接Oracle数据库

2009-07-20 17:03:55

批量插入数据ASP.NET

2009-09-10 10:59:47

C# form

2009-07-02 14:24:02

JSP读取数据库

2009-08-07 16:19:00

C#下数据库编程

2009-09-04 17:23:21

C#数据库连接对象

2009-07-31 17:01:21

C#存取Access数
点赞
收藏

51CTO技术栈公众号