有问题重命名Excel工作表

时间:2014-07-30 19:58:28

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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