小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)于報錯:The Microsoft.ACE. Oledb.12.0 provider was not registered on the local computer

 新進小設(shè)計 2021-04-23

錯誤描述The Microsoft.ACE. Oledb.12.0 provider was not registered on the local computer

最近在Web項目中做一個自動生成Excel→下載→修改→上傳→生成json格式文件的功能。

本地一切都順利,在部署到IIS服務(wù)器后,運行發(fā)現(xiàn)掛了。

本人代碼:

 1  #region 讀取Excel中的數(shù)據(jù) 2         /// <summary>  3         /// 讀取Excel中的數(shù)據(jù) 支持表頭(.xlsx)   不支持表頭(.xls)   4         /// </summary>  5         /// <param name="fileName">Excel文件路徑</param>  6         /// <returns>Excel中的數(shù)據(jù)</returns>  7         public DataTable GetTable(string fileName) 8         { 9             OleDbConnection Conn = null;10             DataTable dt = null;11             string connString = string.Empty;12             OleDbDataAdapter da = new OleDbDataAdapter();13             DataTable dataTable = new DataTable();14             try15             {16                 string FileType = fileName.Substring(fileName.LastIndexOf("."));17                 if (FileType == ".xls")18                     connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";19                 else//.xlsx20                     connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";21                 // 創(chuàng)建連接對象22                 Conn = new OleDbConnection(connString);23                 // 打開數(shù)據(jù)庫連接 24                 Conn.Open();25                 //獲取Excel工作薄中Sheet頁(工作表)名集合26                 DataTable ss = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });27                 string sql_F = "Select * FROM [{0}]";28                 for (int i = 0; i < ss.Rows.Count; i++)29                 {30                     da.SelectCommand = new OleDbCommand(String.Format(sql_F, ss.Rows[i][2].ToString()), Conn);31                     da.Fill(dataTable);32                 }33                 return dataTable;34             }35             catch (Exception ex)36             {37                 string Error = ErrorUtil.GetError(ex);38                 39                 if (log.IsDebugEnabled)40                 {41                     log.Debug("GenerateFinfo - Error2 : [" + Error + "]");42                 }43                 throw (ex);44             }45             finally46             {47                 // 釋放 48                 if (Conn != null)49                 {50                     Conn.Close();51                     Conn.Dispose();52                 }53                 if (dt != null)54                 {55                     dt.Dispose();56                 }57             }58         }59         #endregion

......

......

在我各種查閱,對比,實踐后把解決方法記錄下來,和大家分享:

報錯原因是本地安裝了Office客戶端,但是服務(wù)器沒有安裝Office客戶端。

我們都知道,安裝一個Office客戶端是需要占一些內(nèi)存的,這不利于服務(wù)器的性能。

所以我就查詢了資料,結(jié)合實踐,有了不安裝Office客戶端也能讀取Excel的解決辦法。

 

解決辦法:

        第一步:安裝數(shù)據(jù)訪問組件:(AccessDatabaseEngine)

  1)適用于office2007的Access組件

  Microsoft Access Database Engine 2007 Office system 驅(qū)動程序:數(shù)據(jù)連接組件

  2)適用于office2010的Access組件

  Microsoft Access Database Engine 2010 Redistributable
 

       下載安裝后電腦里便會有一組組件,非 Microsoft Office 應(yīng)用程序可以使用它們從 2007/2010 Office system 文件中讀取數(shù)據(jù),

       例如:

               1)從 Microsoft Office Access 2007/2010(mdb 和 accdb)文件中讀取數(shù)據(jù);

               2)從Microsoft Office Excel 2007/2010(xls、xlsx 和 xlsb)文件中讀取數(shù)據(jù)。

               這些組件還支持與 Microsoft Windows SharePoint Services 和文本文件建立連接。

         此外,還會安裝 ODBC 和 OLEDB 驅(qū)動程序,供應(yīng)用程序開發(fā)人員在開發(fā)與 Office 文件格式連接的應(yīng)用程序時使用。

 

 

       第二步:打開你所部署項目的電腦的IIS管理器,把你用的那個程序池修改“啟用兼容32位應(yīng)用程序” 屬性值為True。

              如下圖所示:

                              

              以上方法,親測有效,如果你遇到類似的問題依舊無法解決,可以查看一下Excel。有的讀取Excel的方法分xlxs和xls兩種文件。

                   

 

              



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多