1 using System;
2 using System.Collections.Generic;
3 using System.Web;
4 using System.Web.UI;
5 using System.Web.UI.WebControls;
6 using System.Data.SqlClient;
7 using System.Data;
8 using Microsoft.Office;
9 using Microsoft.Office.Interop.Word;
10 using Microsoft.Office.Interop;
11 using System.Text;
12
13 public partial class print : System.Web.UI.Page
14 {
15 protected void Page_Load(object sender, EventArgs e)
16 {
17
18 }
19 protected void btprint_Click(object sender, EventArgs e)
20 {
21 Toprint();
22 }
23 public void Toprint()
24 {
25 WriteIntoWord wiw = new WriteIntoWord();
26 string FilePath = Server.MapPath("Student.dot"); //模板路径
27 string BookmarkName = "Name";
28 string FillName =name.Text ;
29 string BookmarkGender = "Gender";
30 string FillGender =gender.Text;
31 string BookmarkBirthday = "Birthday";
32 string FillBirthday =birth.Text; ;
33 string SaveDocPath = Server.MapPath("Student.doc"); ;
34 wiw.OpenDocument(FilePath) ;
35 wiw.WriteIntoDocument(BookmarkName, FillName);
36 wiw.WriteIntoDocument(BookmarkGender, FillGender);
37 wiw.WriteIntoDocument(BookmarkBirthday, FillBirthday);
38 wiw.Save_CloseDocument(SaveDocPath) ;
39 }
40 public class WriteIntoWord
41 {
42 ApplicationClass app = null; //定义应用程序对象
43 Document doc = null; //定义 word 文档对象
44 Object missing = System.Reflection.Missing.Value; //定义空变量
45 Object isReadOnly = false;
46 // 向 word 文档写入数据
47 public void OpenDocument(string FilePath)
48 {
49 object filePath = FilePath;//文档路径
50 app = new ApplicationClass(); //打开文档
51 doc = app.Documents.Open(ref filePath, ref missing, ref missing, ref missing,
52 ref missing, ref missing, ref missing, ref missing);
53 doc.Activate();//激活文档
54 }
55 /// <summary>
56 /// </summary>
57 ///<param name="parLableName">域标签</param>
58 /// <param name="parFillName">写入域中的内容</param>
59 ///
60 //打开word,将对应数据写入word里对应书签域
61
62 public void WriteIntoDocument(string BookmarkName, string FillName)
63 {
64 object bookmarkName = BookmarkName;
65 Bookmark bm = doc.Bookmarks.get_Item(ref bookmarkName);//返回书签
66 bm.Range.Text = FillName;//设置书签域的内容
67 }
68 /// <summary>
69 /// 保存并关闭
70 /// </summary>
71 /// <param name="parSaveDocPath">文档另存为的路径</param>
72 ///
73 public void Save_CloseDocument(string SaveDocPath)
74 {
75 object savePath = SaveDocPath; //文档另存为的路径
76 Object saveChanges = app.Options.BackgroundSave;//文档另存为
77 doc.SaveAs(ref savePath, ref missing, ref missing, ref missing, ref missing,
78 ref missing, ref missing, ref missing);
79 doc.Close(ref saveChanges, ref missing, ref missing);//关闭文档
80 app.Quit(ref missing, ref missing, ref missing);//关闭应用程序
81
82 }
83 }
84 }