重命名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.Add(); Microsoft.Office.Interop.Excel.Worksheet staffCosts = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[2]; staffCosts.Name = "Staff Costs"; 

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

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

无论如何,这是你应该写的:

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