程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 服務器讀取EXCEL不安裝OFFICE如何實現

服務器讀取EXCEL不安裝OFFICE如何實現

編輯:關於ASP.NET

      用asp.net做了一簡單的游戲管理後台,涉及到了上傳Excel導入數據的功能,在本地開發實現都好好的,可已上傳的服務器上就悲劇了,下面有個不錯的解決方法,大家可以參考下

      前段時間用asp.net做了一簡單的游戲管理後台,其中涉及到了上傳Excel導入數據的功能,本來在本地開發實現都好好的,可已上傳的服務器上就悲劇了。服務器是阿裡雲 Windows Server 2008 R2(X64),排查後發現服務器沒裝office這玩意,也就不會有OLEDB驅動程序,實在不想裝office,特別是office 2010,看著龐大的體積就頭疼,怎辦?

      百度谷歌一番發現,其實只要安裝Microsoft Access 2010 數據庫引擎可再發行程序包即可實現2010 Microsoft Office System 文件與非 Microsoft Office 應用程序之間傳輸數據,支持現有的 Microsoft Office 文件(例如 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和 Microsoft Office Excel 2010(*.xls、*.xlsx 和 *.xlsb)文件)與其他數據源(例如 Microsoft SQL Server)之間傳輸數據。還支持與現有文本文件建立連接。 此外,還會安裝 ODBC 和 OLEDB 驅動程序,供應用程序開發人員在開發與 Office 文件格式連接的應用程序時使用。該安裝包下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255 。

      裝上這個包後,一段代碼就搞定:  代碼如下: /// <summary>  /// 連接Excel 讀取Excel數據 並返回DataSet數據集合  /// </summary>  /// <param name="filepath">Excel服務器路徑</param>  /// <param name="tableName">Excel表名稱</param>  /// <returns></returns>  public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName)  {  //string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";  string strCon = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filepath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";  OleDbConnection ExcelConn = new OleDbConnection(strCon);  try  {  string strCom = string.Format("SELECT * FROM [Sheet1$]");  ExcelConn.Open();  OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn);  DataSet ds = new DataSet();  myCommand.Fill(ds, "[" + tableName + "$]");  ExcelConn.Close();  return ds;  }  catch  {  ExcelConn.Close();  return null;  }  }   
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved