2016-09-22 50 views
0

因此,我正在使用Microsoft Visual Studio 2015,希望能夠將項目鏈接到Excel電子表格。在C#中鏈接Excel#

我想達到的是這個;只需要創建一個程序,我可以在特定的單元格中使用該號碼,然後對其進行一些計算。作爲一個例子,取D4單元格,然後用這個值作爲平均值來創建一個泊松分佈。

+0

- https://support.microsoft.com/zh-cn/kb/302084 - http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm –

+0

詢問您最喜歡的搜索引擎。關鍵字是「c#excel」和/或「c#office interop」 –

+0

你可以使用openXml [link](https://msdn.microsoft.com/en-us/library/office/bb448854.aspx),它不需要任何執照。如果你使用excel Interop,它需要許可證才能在客戶機上使用它。 –

回答

0

您需要在項目引用中添加對Microsoft.Office.Core和Microsoft.Office.Interop.Excel的引用。 然後將參考添加到您的班級。

using Microsoft.Office.Interop.Excel; 
using Excel = Microsoft.Office.Interop.Excel; 

然後,您可以在代碼中打開/創建/操作Excel表。網絡上的很多信息。

更新到comment--

這個例子是打開一個新的工作表完成後保存。

Excel.Application xlApp; 
Excel.Workbook myWorkBook; 
Excel.Worksheet myWorkSheet; 
object misValue = System.Reflection.Missing.Value; 
xlApp = new Excel.ApplicationClass(); 
myWorkBook = xlApp.Workbooks.Add(misValue); 
myWorkSheet = (Excel.Worksheet)myWorkBook.Worksheets.get_Item(1); 

完成片

myWorkSheet.Cells[curXLRow, 5] = "PF"; 
myWorkSheet.Cells[curXLRow, 6] = "PA"; 

一些工作,然後將文件保存

string fileName = "C:\\MyFileName.xlsx"; 
myWorkBook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookDefault, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
myWorkBook.Close(true, misValue, misValue); 
xlApp.Quit(); 

releaseObject(myWorkSheet); 
releaseObject(myWorkBook); 
releaseObject(xlApp); 

希望這有助於。我沒有一個例子來打開一個現有的Excel文件。但是一看,

xlApp.Workbooks.Open(lots of parameters...); 
+0

我用這個,但是混淆了我在Excel中放置的區域。工作表excelSheet =我在這裏放什麼 Excel.Range rng =(Excel.Range)excelSheet.Cells [10,10]; –

0

正如已經建議,建議使用Open XML SDK 2.5EPPlus,而不是Interop。原因解釋爲here

入門EPPlus很容易所示的幾個例子here

  • 打開使用的FileInfo
  • 創建ExcelPacakge從Workbook.Worksheets [它
  • 獲取工作表參考Excel文件「WorksheetName」]
  • 使用工作表參考來讀取和寫入單元格值和公式以及更多