2009-04-08 41 views
3

是否可以從excel文件(.xls)中將信息提取到計算機上的c#而無需安裝excel是否有可能從Excel文件中提取信息到未安裝excel的計算機上的c#中?

我有下面的代碼:

 OleDbConnection objConn = new 
      OleDbConnection(CONNECTION_STRING.Replace("<FILENAME>", fileName)); 

      try 
      { 
       objConnection.Open(); 
      } 
      catch (Exception) 
      {} 

它拋出一個IndexOutOfRangeException(「無法找到表0」),當我嘗試時,不會已經安裝了Excel中的計算機上運行,​​打開的OleDbConnection。使用excel在計算機上運行的相同代碼工作得很好。因此,我非常強烈地懷疑缺乏擅長的罪魁禍首。

這是問題嗎? 如果是這樣,我如何從文件中提取數據?

+0

儘管目前我無法確認,但它是可能的表在工作表中顯式定義爲表? – 2009-04-08 16:28:07

回答

5

查看開放源代碼NExcel。最近更新大約2年前,因此它不支持更新的Excel 2007 .xlsx格式,但會讀取Excel 07-Excel 2003.

1

這是可能的。如果格式爲.XLS,則使用Microsoft Jet OLEDB 4.0(只要在32位系統上運行,即可使用64位系統進行一些小應用程序即可正常運行) - 我懷疑您已經搞混了一點點。你可能是在正確的道路上。

檢查此鏈接了,應該解釋至少一些你需要知道:

Reading and Writing Excel Spreadsheets Using ADO.NET C# DbProviderFactory

4

有沒有Excel的兩種主要的方法安裝

使用Jet數據庫驅動程序打開文件。這將使您可以訪問行中的單元格值,將每個表格視爲表格。你將無法訪問任何元信息(格式化,註釋等)。

使用SpreadsheetGear.NET,它允許您在沒有Excel或任何其他依賴項的情況下打開,創建,操作和保存Excel二進制文件。 SpreadSheetGear可以下載用於評估,但需要花錢才能獲得許可。

相關問題