原文: 向Word模闆中填充資料
現在有這樣的需求,給Word文檔的指定位置填充上特定資料,例如我們有一個終端,用來列印員工的薪資證明,對于一個公司來說,他的薪資證明模闆是固定的,變化的地方是員工姓名,部門,職位等。我們隻需要将這些指定資料填寫到指定位置即可。
1. 制作Word模闆,
在Word中,有一個東東叫書簽,我們可以在需要填充的地方預先插入特定名稱的書簽。

MSWord.Application app = new MSWord.Application();
string destPath = "薪資證明.docx";
string targetPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), destPath);
MSWord.Document doc = app.Documents.Open(targetPath, Visible:false);
MSWord.Bookmark bmName = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Name");
if(bmName != null)
{
bmName.Range.Text = "Tom Wang";
}
MSWord.Bookmark bmDept = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Department");
if(bmDept != null)
{
bmDept.Range.Text = "Department";
}
MSWord.Bookmark bmJob = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Job");
if(bmJob != null)
{
bmJob.Range.Text = "Software engineer";
}
MSWord.Bookmark bmSalary = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Salary");
if(bmSalary != null)
{
bmSalary.Range.Text = "10000";
}
MSWord.Bookmark bmDate = doc.Bookmarks.OfType<MSWord.Bookmark>().First(bm => bm.Name == "Bookmark_Date");
if(bmDate != null)
{
bmDate.Range.Text = DateTime.Now.ToShortDateString();
}
doc.Save();
doc.Close();
Marshal.ReleaseComObject(doc);
Marshal.ReleaseComObject(app);
運作程式,可以将需要的資料插入指定位置。
感謝您的閱讀。