【问题标题】:How to save RTF content as a DOCX [duplicate]如何将 RTF 内容保存为 DOCX [重复]
【发布时间】:2026-02-17 01:40:02
【问题描述】:

我有一些 rtf 内容作为 varchar 存储在数据库中。它们源自 RichTextBoxes。

我想连接 rtf 内容并将它们保存为 Word 文档。我该怎么做?

我发现 RichTextBox 类有一个 SaveFile 方法,我可以用它来保存 DOCX:

objRichTextBox.SaveFile("Temp.docx", RichTextBoxStreamType.RichText);

但是,当我尝试将 RTF 内容添加到 RichTextBox 时出现问题:

            RichTextBox objRichTextBox = new RichTextBox();           
            objRichTextBox.Rtf = objRichTextBox.Rtf + "Hello";

System.Windows.Forms.dll 中出现“System.ArgumentException”类型的未处理异常

附加信息:文件格式无效。

我做错了什么?

【问题讨论】:

  • 不,完全不同。我在某处既没有保存的 RTF 文件,也没有在表单上有 RichTextBox。当我只是声明一个并尝试使用它时,它给出了上面的错误。
  • 您不能以这种方式更改RichTextBoxRtf 属性,因为它包含rtf 格式的数据,并且附加“Hello”会破坏格式完整性。
  • +1 谢谢,安迪。我现在明白了这个错误。但是如何将 RTF 内容保存为 .docx?我无法打开现有的 RTF 文档,因为我没有保存的 RTF 文件。
  • 好的,我发现了一个类似的实际问题,现在我明白了这个问题,感谢@[Andy Korneyev]。

标签: c# winforms


【解决方案1】:

查看this open-source OpenXMLWriter tool,它显示了如何根据 Richtext 控件的内容生成 DocX。

或者你可以invoke MS Word to convert RTF file to DocX

【讨论】: