添加新的Worksheet c#(疑惑)

Add new Worksheet c# (doubts)

我是第一次使用 C#Excel ... 我想知道如何在工作簿中添加新工作表。我一直在阅读一些 post,但 none 对我有用,所以我要 post 我的代码。

Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.Application();
Excel.Workbooks.Add();
Microsoft.Office.Interop.Excel._Worksheet Worksheet = Excel.ActiveSheet;

使用此代码,我正在使用我唯一的 Sheet,但现在我想添加另一个名称为 MMPP 的代码,但我不能... 在此之后,我想在工作表 MMPP 中创建一个动态 table。 你能帮我一点忙吗?

感谢您阅读并尽力提供帮助!

您需要将 sheet 添加到 Sheets 工作簿集合。

var Excel = new Microsoft.Office.Interop.Excel.Application();
var name = "some_name";
var wb = Excel.Workbooks.Add();
var sheet = wb.Sheets[name];

您需要了解对象模型。在高层次上,它是这样的:

  • Application
    • Workbooks
      • Workbook
        • Sheets
          • Worksheet
            • Range

一个 Workbook 对象有两个暴露 Sheets 对象的属性:SheetsWorksheets - Sheets 集合包含许多类型的 sheets(例如Chartsheets);如果您想确保获得 Worksheet 对象,请使用 Worksheets 集合。

要创建新作品sheet,请调用 Worksheets 集合的 Add 方法:

using Microsoft.Office.Interop.Excel;
var app = new Application;
var books = app.Workbooks; // grab a reference to the collection object; you'll want to clean it up later
var wb = books.Add();
var sheets = wb.Worksheets; // grab a reference to the collection object: you'll want to clean it up later
var sheet = sheets.Add();

添加作品sheet 将使 sheet 成为 ActiveSheet,但您无需关心 - 使用您的 sheet object/variable 来操纵新的 sheet.

您的 sheetListObjects 属性 是 sheet 上所有命名表的集合,因此类似地,您将调用 sheet.ListObjects.Add在 sheet 上创建一个新的 ListObject。参考文档,里面有很多例子。