使用OpenXml

时间:2017-08-23 13:11:24

标签: c# winforms openxml

当我将 text1.Text =“Footer”更改为 text1.Text = txtFoot.text ,出现错误“非静态字段,方法或属性'Form2.txtFoot'”需要对象引用,当我尝试“文本txt = txtFoot.text时“,出现了另一个错误”无法将字符串转换为documentformat.openxml.wordprocessing.text “,我该如何解决这个问题?

static void GenerateFooterPartContent(FooterPart part)
    {
        Footer footer1 = new Footer() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "w14 wp14" } };
        footer1.AddNamespaceDeclaration("wpc", "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas");
        footer1.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
        footer1.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
        footer1.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
        footer1.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
        footer1.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
        footer1.AddNamespaceDeclaration("wp14", "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
        footer1.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
        footer1.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
        footer1.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
        footer1.AddNamespaceDeclaration("w14", "http://schemas.microsoft.com/office/word/2010/wordml");
        footer1.AddNamespaceDeclaration("wpg", "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup");
        footer1.AddNamespaceDeclaration("wpi", "http://schemas.microsoft.com/office/word/2010/wordprocessingInk");
        footer1.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
        footer1.AddNamespaceDeclaration("wps", "http://schemas.microsoft.com/office/word/2010/wordprocessingShape");

        Paragraph paragraph1 = new Paragraph() { RsidParagraphAddition = "00164C17", RsidRunAdditionDefault = "00164C17" };

        ParagraphProperties paragraphProperties1 = new ParagraphProperties();
        ParagraphStyleId paragraphStyleId1 = new ParagraphStyleId() { Val = "Footer" };

        paragraphProperties1.Append(paragraphStyleId1);

        Run run1 = new Run();
        Text text1 = new Text();
        text1.Text = "Footer"; 

        run1.Append(text1);

        paragraph1.Append(paragraphProperties1);
        paragraph1.Append(run1);

        footer1.Append(paragraph1);

        part.Footer = footer1;
    }

1 个答案:

答案 0 :(得分:0)

text1.Text这里实际上是Wordprocessing.Text,而不是字符串对象。为了给它分配文本,你必须这样做 -

text1.Text = new Text(txtFoot.text);