【问题标题】:insert from RichTextBox into a doc file using OpenXml使用 OpenXml 从 RichTextBox 插入 doc 文件
【发布时间】:2017-08-23 22:04:17
【问题描述】:

当我将 text1.Text = "Footer" 更改为 text1.Text = txtFoot.text,出现错误“An object reference is required for the non-static field, method, or property 'Form2.txtFoot'”,当我尝试“Text txt = txtFoot.text ”,出现另一个错误“cannot convert string into 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;
    }

【问题讨论】:

  • 整个文档是动态生成的,还是您正在使用一些模板文档并在其中添加页脚?
  • @KetanRaiyani 文档正在动态生成
  • 我提供的解决方案有效吗?
  • 对不起,我完全忘记了。它没有用,而是在我调用 GenerateFooterPartContent() 的方法中编写了所有代码并且它工作了

标签: c# winforms openxml


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多