剛才看了批量Excel數據導入Oracle數據這篇文章,也忍不住把我去年寫的一個測試例子拿出來供大家分享。這個例子是我去年做的一個Web項目中後台裡面用到的方法,其實很簡單,就是上傳Execl文件,然後讀取數據寫入數據庫用到的。當時做的時候也網上搜了一些資料,倒是有一大堆的現成代碼,但復制下來用的時候問題就出現了,就是在後台操作的時候上傳的Excel只能讀取到第一個工作表的內容,第二個以後的就讀取不到了,也就是第二個工作表以後就導入不到數據庫了,當是很是郁悶,最後還是在國外的一個論壇裡面看到了一個網友給的解決方法,其實代碼很是簡單的。我也簡單的封裝了下,不多說了,直接貼代碼吧,完事了睡覺了。。
代碼
/********************************************************************
filename: UpLoadExcelToSql.cs
created: 2009/04/16
author: liaoyun
purpose: 根據上傳的Excel文件將數據導入數據庫
*********************************************************************/
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Data.OleDb;
using System.Text;
using System.Data.SqlClient;
/// <summary>
/// UpLoadExcelToSql 的摘要說明
/// </summary>
public class UpLoadExcelToSql
{
private string conStringExcel;//excel連接字符串
private string excelFilePath;//Excel文件路徑
//連接字符串應該從配置文件獲得
private string connectionString = "Data Source=A3441787DCE54FA\SQL2005;Initial Catalog=Northwind;Integrated Security=True";
/// <summary>
/// 構造函數
/// </summary>
/// <param name="excelFileName">Excel文件名</param>
public UpLoadExcelToSql(string excelFilePath)
{
this.excelFilePath = excelFilePath;
this.conStringExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" +
excelFilePath + "