将页脚添加到Excel工作表集合

时间:2016-03-18 19:26:46

标签: c# excel footer excel-interop

我正在尝试将页脚添加到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.                    
    }

0 个答案:

没有答案