在C#中创建word文档

时间:2012-09-11 09:50:45

标签: c# .net interopservices

我正在尝试使用Microsoft Office interops创建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 个答案:

答案 0 :(得分:1)

您是否尝试过邮件合并?通过这种方式,您可以设置单词模板,并且可以根据需要定位图像和表格。然后,您只需担心将输入字段与模板合并。这样,如果需要,您可以为不同的Word文档提供多个模板。这是一个例子:

Sending text to Mail-Merge Fields in Microsoft Word 2010