(1)首先添加引用
(2)
using Microsoft.Office.Interop.Word;
----------------------
.cs 代码:
private void writeword(string id) {
try {
appWord = new Microsoft.Office.Interop.Word.ApplicationClass(); appWord.Visible = false; object objTrue = true; object objFalse = false; object objTemplate = Server.MapPath("myword.dot");//模板路径 object objDocType = WdDocumentType.wdTypeDocument; doc = (DocumentClass)appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType, ref objTrue); //第一步生成word文档 //定义书签变量 object obj01 = "aaa"; object obj02 = "bbb"; ......
//第二步 读取数据,填充数据集 DataTable dt = cr.GeAll(id);
//第三步 给书签赋值 //给书签赋值 doc.Bookmarks.get_Item(ref obj01).Range.Text = dt.Rows[0]["a"].ToString(); doc.Bookmarks.get_Item(ref obj02).Range.Text = dt.Rows[0]["b"].ToString(); ....... //第四步 生成word object filename = Server.MapPath("~") + "//" + DateTime.Now.ToShortDateString().ToString() +
"myword.doc"; name = DateTime.Now.ToShortDateString().ToString() + "myword.doc"; object miss = System.Reflection.Missing.Value; doc.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref
miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss); object missingValue = Type.Missing; object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); appWord.Application.Quit(ref miss, ref miss, ref miss); doc = null; appWord = null;
} catch (System.Exception ex) { //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源 Response.Write(ex.ToString()); object miss = System.Reflection.Missing.Value; object missingValue = Type.Missing; object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); appWord.Application.Quit(ref miss, ref miss, ref miss); doc = null; appWord = null; } }
(3)运行效果
就由模板dot生成word文档下载到客户端 |