Excel 向现有OpenXML电子表格添加页脚

Excel 向现有OpenXML电子表格添加页脚,excel,c#-4.0,openxml,openxml-sdk,Excel,C# 4.0,Openxml,Openxml Sdk,编辑:我在原来的帖子中遗漏了更多细节。对于“.Open”命令,程序使用的是模板流,而不是具体的模板。使用以下代码块初始化模板流: public void Initialize(Stream templateStream) { spreadsheet = SpreadsheetDocument.Open(templateStream, true); } 我还在研究这个问题,但是有人知道在OpenXML中为HeaderFooter对象使用流的含义吗 我是OpenXML新手,仍在阅读和学习这

编辑:我在原来的帖子中遗漏了更多细节。对于“.Open”命令,程序使用的是模板流,而不是具体的模板。使用以下代码块初始化模板流:

public void Initialize(Stream templateStream)
{
    spreadsheet = SpreadsheetDocument.Open(templateStream, true);
}
我还在研究这个问题,但是有人知道在OpenXML中为HeaderFooter对象使用流的含义吗

我是OpenXML新手,仍在阅读和学习这个庞大的SDK。我继承了一个C#MVC.NET程序,该程序使用OpenXML在Excel电子表格上显示信息,所有这些都正常工作,但我现在需要在同一个电子表格中添加一个页脚,我的OpenXML知识遇到了一些障碍


我把我想要的页脚信息放入电子表格,用OpenXMLSDK生产力工具打开它,并在下找到了这段代码。对于那些不了解生产力工具的人,这段代码包含在SDK中,可以从

在我的64位机器上,该工具的安装路径为: “C:\Program Files(x86)\Open XML SDK\V2.0\tool\OpenXmlSdkTool.exe”

您应该能够手动将页脚添加到电子表格中,并使用该工具打开它,查看创建整个电子表格(包括页脚)所需的确切C#。然后可以删除代码中不必要的部分,例如自动添加的某些样式

 // Creates an OddFooter instance and adds its children.
        public OddFooter GenerateOddFooter()
        {
            OddFooter oddFooter1 = new OddFooter();
            oddFooter1.Text = "&L&\"Times New Roman,Regular\"Page &P of &N&C&\"Times New Roman,Regular\"Generated On: <Date/Time> Central&R&\"Times New Roman,Regular\"Report";
            return oddFooter1;
        }
// Creates an HeaderFooter instance and adds its children.
        public HeaderFooter GenerateHeaderFooter()
        {
            HeaderFooter headerFooter1 = new HeaderFooter();
            OddFooter oddFooter1 = new OddFooter();
            oddFooter1.Text = "&L&\"Times New Roman,Regular\"Page &P of &N&C&\"Times New Roman,Regular\"Generated On: <Date/Time> Central&R&\"Times New Roman,Regular\"Report";

            headerFooter1.Append(oddFooter1);
            return headerFooter1;
        }
worksheet1.Append(headerFooter1);
spreadsheet.WorkbookPart.Workbook.Append(headerFooter1);