用 PageOffice 实现 C# ASP.NET 批量转换导出 Word 文档
在某些涉及到报表的项目开发中,可能经常会遇到需要批量的生成某些文档
的操作,这些文档若是要点击一下,生成一个的话,就太浪费时间了。但若用
FileMakerCtrl 控件来实现的话就简单容易的多了。
下面我就以批量转换 10 个 Word 文档为例来分享一下 FileMakerCtrl 控件的
使用方法。
第一步:请先安装 PageOffice 的服务器端的安装程序,之后在你的网站或项
目的根目录下添加 pageoffice 文件夹(在 PageOffice 官方网站的“下载中心”中
可下载相应的压缩包,解压之后直接将 PageOffice 实例代码里的 pageoffice 文件
夹拷贝到根目录下就可以了)。
第二步:在网站或项目中添加文件夹存放 word 模板文件,我习惯命名为
“doc”,将要打开的文件拷贝到该文件夹下,我要转换的文件为“template.doc”,
该文件中有一个书签,名称为“PO_company”。
第三步:在网站或项目中创建动态页面 FileMaker.aspx。在工具箱中拖动一
个 FileMakerCtrl 控件到页面上(FileMakerCtrl 控件位于工具箱最下方)。
在 FileMaker.aspx.cs 后台页面中,添加代码如下:
//设置服务器页面
FileMakerCtrl1.ServerPage = "pageoffice/server.aspx" ;
string id = Request.QueryString[ "id"];
if (id != null&& id.Length > 0)
{
PageOffice.WordWriter. WordDocument doc = new
PageOffice.WordWriter. WordDocument ();
//禁用右击事件
doc.DisableWindowRightClick = true;
//给数据区域赋值,即把数据填充到模板中相应的位置
doc.OpenDataRegion( "PO_company" ).Value = "北京卓正志远软件有限公司
" + id;
//设置保存页面
FileMakerCtrl1.SaveFilePage = "Savemaker.aspx?id=" + id;
FileMakerCtrl1.SetWriter(doc);
//设置转换完成后执行的 JS函数