因此,我正在使用Microsoft Visual Studio 2015,希望能夠將項目鏈接到Excel電子表格。在C#中鏈接Excel#
我想達到的是這個;只需要創建一個程序,我可以在特定的單元格中使用該號碼,然後對其進行一些計算。作爲一個例子,取D4單元格,然後用這個值作爲平均值來創建一個泊松分佈。
因此,我正在使用Microsoft Visual Studio 2015,希望能夠將項目鏈接到Excel電子表格。在C#中鏈接Excel#
我想達到的是這個;只需要創建一個程序,我可以在特定的單元格中使用該號碼,然後對其進行一些計算。作爲一個例子,取D4單元格,然後用這個值作爲平均值來創建一個泊松分佈。
您需要在項目引用中添加對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...);
我用這個,但是混淆了我在Excel中放置的區域。工作表excelSheet =我在這裏放什麼 Excel.Range rng =(Excel.Range)excelSheet.Cells [10,10]; –
正如已經建議,建議使用Open XML SDK 2.5與EPPlus,而不是Interop
。原因解釋爲here。
入門EPPlus很容易所示的幾個例子here:
- https://support.microsoft.com/zh-cn/kb/302084 - http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm –
詢問您最喜歡的搜索引擎。關鍵字是「c#excel」和/或「c#office interop」 –
你可以使用openXml [link](https://msdn.microsoft.com/en-us/library/office/bb448854.aspx),它不需要任何執照。如果你使用excel Interop,它需要許可證才能在客戶機上使用它。 –