在C#中链接Excel

时间:2016-09-22 11:02:30

标签: c# excel visual-studio-2015

所以我在Microsoft Visual Studio 2015中工作,希望能够将项目链接到Excel电子表格。

我想要实现的是这个;只需能够创建一个程序,我可以在其中使用特定单元格中的数字,然后使用它进行一些计算。例如,取单元格D4,然后使用该值作为平均值创建泊松分布。

2 个答案:

答案 0 :(得分:0)

您需要在项目参考中添加对Microsoft.Office.Core和Microsoft.Office.Interop.Excel的引用。 然后将引用添加到您的类中。

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

然后,您可以在代码中打开/创建/操作Excel工作表。网上有很多信息。

更新评论 -

此示例正在打开一个新工作表,以便在完成后保存。

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...);

答案 1 :(得分:0)

正如已经建议的那样,建议将Open XML SDK 2.5EPPlus一起使用,而不是Interop。原因解释为here

EPPlus入门非常简单,如下例here所示:

  • 使用FileInfo
  • 打开Excel文件
  • 从中创建ExcelPacakge
  • 从Workbook.Worksheets获取工作表参考["工作表名称"]
  • 使用工作表参考来读取和写入单元格值和公式等等