我正在尝试将页脚添加到Excel工作簿中的工作表作为C#程序的一部分。我可以通过下面的代码一次添加一个选项卡,但是每个工作簿大约10个选项卡大约需要一分钟。
public void addFooter(Excel.Workbook wkbk)
{
string footer = "test footer";
foreach (Excel.Worksheet wksht in wkbk.Worksheets)
{
if (chkRemoveCoverFooter.Checked == true && wksht.Name == "Cover" || wksht.Visible != Excel.XlSheetVisibility.xlSheetVisible)
{
continue;
}
else
{
wksht.PageSetup.RightFooter = footer;
}
}
}
}
我发现我可以通过回答here的问题对表格进行分组。 我能够让小组在下面选择,但我很难过如何访问PageSetup来立即更改所有页脚。我知道它可以通过VBA轻松完成,但C#中没有“With”语句可以使用。提前感谢您的任何指示。
public void addFooter(Excel.Workbook wkbk)
{
string footer = "Test Footer";
List<string> footerSheets = new List<string>();
foreach (Excel.Worksheet wksht in wkbk.Worksheets)
{
if (chkRemoveCoverFooter.Checked == true && wksht.Name == "Cover" || wksht.Visible != Excel.XlSheetVisibility.xlSheetVisible)
{
continue;
}
else
{
footerSheets.Add(wksht.Name);
}
}
string[] footerSheetsArray = footerSheets.ToArray();
((Excel.Sheets)wkbk.Worksheets.get_Item(footerSheetsArray)).Select();
//add 'footer' string to all the selected pages at once.
}