C# 重命名Excel工作表时遇到问题

C# 重命名Excel工作表时遇到问题,c#,excel,C#,Excel,我已经编写了一个控制台C#程序来生成电子表格。但是,当我尝试命名第二张纸时,该名称会覆盖第一张纸 ///// create sheet1 Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet WorkSheet = (Worksheet)wb.Worksheets[1]; WorkSheet.Name = "Work Sheet"; ///// create sheet2 wb.Sheets.A

我已经编写了一个控制台C#程序来生成电子表格。但是,当我尝试命名第二张纸时,该名称会覆盖第一张纸

///// create sheet1
Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet WorkSheet = (Worksheet)wb.Worksheets[1];
WorkSheet.Name = "Work Sheet";

///// create sheet2

wb.Sheets.Add();
Microsoft.Office.Interop.Excel.Worksheet staffCosts = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[2];
staffCosts.Name = "Staff Costs";

我错过了一些东西,毫无疑问,这将很简单。

默认情况下,新工作表将成为第一张工作表。所有其他工作表都向右移动,因此
工作表[2]
指的是以前的
工作表[1]

在任何情况下,您都应该这样写:

staffCosts = wb.Sheets.Add();
staffCosts.Name = "Staff Costs";

非常感谢。。。另外,这个解释也很有道理。我想我现在更明白了,谢谢。