【问题标题】:Linking Excel In C#在 C# 中链接 Excel
【发布时间】:2016-09-25 18:57:15
【问题描述】:

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

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

【问题讨论】:

标签: c# excel visual-studio-2015


【解决方案1】:

您需要在项目引用中添加对 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...);

【讨论】:

  • 我使用了这个,但对我在标记为 Excel.Worksheet 的区域中放置的内容感到困惑。ExcelSheet = 我在此处放置什么 Excel.Range rng = (Excel.Range)excelSheet.Cells[10, 10];
【解决方案2】:

如前所述,建议使用Open XML SDK 2.5EPPlus,而不是Interop。原因解释here

EPPlus 入门非常简单,如here 中的几个示例所示:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多