在 C# 中创建 Word 文档

Posted

技术标签:

【中文标题】在 C# 中创建 Word 文档【英文标题】:Create word documents in C# 【发布时间】:2012-09-11 09:50:44 【问题描述】:

我正在尝试使用 Microsoft Office 互操作创建 Word 文档。该文档应包含一张图片和下面的一些表格内容。但是当我添加内容时,它并没有按照我需要的方式添加。

我提供了下面的示例代码。

MSWord.Application oWordApp;
MSWord.Document oWordDoc;
oWordApp = new MSWord.Application();
oWordApp.Visible = true;
oWordApp.WindowState = MSWord.WdWindowState.wdWindowStateMinimize;
oWordDoc = oWordApp.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);

object start = 0;
object end = 0;

Microsoft.Office.Interop.Word.Range oRange = oWordDoc.Range(ref start,ref end);

oWordDoc.InlineShapes.AddPicture(imagepath, ref oMissing, ref oMissing, oRange);

Microsoft.Office.Interop.Word.Table tbl = oWordDoc.Tables.Add(oRange, 10, 2, ref oMissing, ref oMissing);
Random rnd = new Random();
for (int i = 0; i < 10; i++)

    tbl.Rows[i + 1].Cells[1].Range.Text = "Item#";
    tbl.Rows[i + 1].Cells[2].Range.Text = "Sample";


oWordDoc.SaveAs(svd.FileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                            ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                            ref oMissing, ref oMissing, ref oMissing, ref oMissing);

【问题讨论】:

图像被添加到表格的第一个单元格中。 【参考方案1】:

您尝试过邮件合并吗?这样您就可以设置单词模板,并且可以随意放置图像和表格。然后您只需要担心将输入字段与模板合并。这样,如果需要,您可以为不同的 Word 文档创建多个模板。这是一个例子:

Sending text to Mail-Merge Fields in Microsoft Word 2010

【讨论】:

如果您想控制格式,邮件合并是一个更好的选择。 这也是我的观点。一旦模板设置好(格式化、定位项目、设置字体等),所有需要注意的就是与输入的合并。 是的,Dark 很有帮助。谢谢。 @user1417294:很高兴它有帮助。如果它解决了您的问题,请不要忘记将此标记为您的答案。

以上是关于在 C# 中创建 Word 文档的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用模板的 word 文档中创建下拉列表?

如何在 C# 中创建相对于用户文档的文件目录?

如何在 Mac OS 上使用 REALbasic 在 OpenOffice 中打开的 Word 文档中创建表格

Word处理控件Aspose.Words功能演示:使用 Aspose.Words for C++ 在 Qt 应用程序中创建 Word 文档

如何在 Capella 中创建服务并在我的 M2DOC Word 文档中调用它?

如何在 C# 中创建具有命名空间的文档