发布于 2016-05-26 08:27:43 | 63 次阅读 | 评论: 0 | 来源: 网友投递
ASP.NET
ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。
using WordApplication = Microsoft.Office.Interop.Word.Application;
using Document = Microsoft.Office.Interop.Word.Document;
using Bookmark = Microsoft.Office.Interop.Word.Bookmark;
具体实现代码:
WordApplication word = null;
/**//// <summary>
/// 实现动态添加数据打印预览
/// </summary>
/// <param name="path">word模板路径</param>
/// <param name="adStu">调剂学生相关信息对象</param>
private void PrintPreview(string path, AdStuInfo adStu)
...{
if (word == null)
...{
word = new WordApplication();
}
object oMissing = System.Reflection.Missing.Value; //这个东西找了好久,不像操作Excel,用Type.mising还不行.
object path1 = (object)path;
Document doc = null;
doc = word.Documents.OpenOld(ref path1, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
替换书签#region 替换书签
object markName = "报考单位";
Bookmark bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = adStu.SiSch;
markName = "报考专业";
bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = adStu.SiMa;
markName = "考生姓名1";
bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = adStu.Name;
markName = "考生编号";
bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = adStu.No;
markName = "调剂专业";
bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = adStu.AdMa;
markName = "打印时间";
bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = GetDate().ToString();
markName = "考生姓名2";
bm = doc.Bookmarks.get_Item(ref markName);
bm.Range.Text = adStu.Name;
#endregion
word.Visible = true;
doc.PrintPreview();
}
具体解释: 首先有一个模板.doc文件,在该模板内需要添加数据的地方设置成书签,.net程序所要的事情就是打开该模板,用具体需要添加的值去替换先设定好的书签,然后返回Word的打印预览页面,思路很简单~但是问题也是有滴~~