Create, insert text and save a Word doc in C#(用C#创建、插入文本和保存Word文档)
问题描述
我找到了大量关于创建Word文档实例、插入各种文本和格式的有用文档,但在任何地方都找不到可以保存尚未以编程方式创建和打开的文档的内容。 从本质上讲,我希望创建一个docx文件并用富文本框中的文本填充它。使用我在How to Insert text in the end of the document找到的代码,如果我首先创建一个文档,我就能够实现这一点。但是,尽管建议使用_Document.SaveAs()(它并不存在--我猜版本不同)或.SaveAs()应该会在文件不存在时通过SaveAs对话框进行提示,但我总是收到类型不匹配的错误。因此,如果我预先创建了要使用的文件,则以下是工作代码:
OpenFileDialog SDO = new OpenFileDialog();
SDO.ShowDialog();
Microsoft.Office.Interop.Word._Application oWord;
object oMissing = Type.Missing;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = false;
oWord.Documents.Open(SDO.FileName);
oWord.Selection.TypeText(richTextBox1.Text);
oWord.ActiveDocument.Save();
oWord.Quit();
现在,人们可能会认为删除OpenFileDialog Documents.Open的行会在某种程度上保存用C#创建的新文件,但是,即使使用:
Microsoft.Office.Interop.Word._Application oWord;
object oMissing = Type.Missing;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = false;
SaveFileDialog SD = new SaveFileDialog();
SD.Filter = "Word File |*.docx";
SD.Title = "Save File";
SD.ShowDialog();
oWord.Documents.Save(SD.FileName,WdNewDocumentType.wdNewXMLDocument);
oWord.Selection.TypeText(richTextBox1.Text);
oWord.ActiveDocument.Save();
oWord.Quit();
我看到的其他示例打开文档,以便您可以自己保存它,但我需要保存它,而不需要任何人工干预,而不是选择文件名。
感谢的任何帮助,也排除了像SPIRE和GEM这样的第三方DLL的选项,因此不是一个选项:(
如果任何人有一个创建和保存Word文档的简单示例,而该文档在程序运行之前并不存在,我将非常感激。推荐答案
The Microsoft MSDN documentation has tons of useful guides and examples.
您将需要包括:
using Word = Microsoft.Office.Interop.Word;
using Microsoft.Office.Tools.Word;
然后声明您的应用程序:
Word.Application app = new Word.Application();
Declare your new document:
Word.Document doc = app.Documents.Add();
Add text to your documnet
保存这些文档有两种方式:
Programmatically
Using a save file dialog box
这篇关于用C#创建、插入文本和保存Word文档的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:用C#创建、插入文本和保存Word文档


基础教程推荐
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01