利用Word打印报表(一)-----将页面中的表格导出到word并打印

本实例主要应用JavaScript的ActiveXObject()构造函数创建一个OLE Automation(ActiveX)对象的实例,并应用该实例的相关方法实现。
ActiveXObject()构造函数的一般语法格式如下:
var objectVar = new ActiveXObject(class[, servername]);
参数说明
l     objectVar:用于指定引用对象的变量。
l     class:用于指定应用程序的名字或包含对象的库,并且指定要创建的对象的类型。采用library.object的语法格式,如“Word.Application”表明要创建的是Word对象。
l     servername:可选参数,用于指定包含对象的网络服务器的名字。
                                                       图11.5  将页面中的表格导出到Word并打印
说明:每个支持自动化的应用程序都至少提供一种对象类型。例如一个字处理应用程序可能会提供Application对象,Document对象,以及Toolbar对象等。
实现过程
(1)将显示订单信息的表格的id设置为order,因为要打印该表格中的数据。关键代码如下:
<table  id="order" width="100%" height="48"  border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolordark="#CCCCCC" bordercolorlight="#FFFFFF">
(2)编写自定义JavaScript函数outDoc(),用于将Web页面中的订单信息导出到Word中,并进行自动打印,代码如下:
<script language="javascript">
function outDoc(){
 var table=document.all.order;
 row=table.rows.length;
 column=table.rows(1).cells.length;
 var wdapp=new ActiveXObject("Word.Application");
 wdapp.visible=true;
 wddoc=wdapp.Documents.Add();  //添加新的文档
 thearray=new Array();
//将页面中表格的内容存放在数组中
for(i=0;i<row;i++){
   thearray[i]=new Array();
   for(j=0;j<column;j++){
       thearray[i][j]=table.rows(i).cells(j).innerHTML;
   }
}
var range = wddoc.Range(0,0);
range.Text="订单信息列表"+"/n";
wdapp.Application.Activedocument.Paragraphs.Add(range);
wdapp.Application.Activedocument.Paragraphs.Add();
rngcurrent=wdapp.Application.Activedocument.Paragraphs(3).Range;
var objTable=wddoc.Tables.Add(rngcurrent,row,column)     //插入表格
for(i=0;i<row;i++){
   for(j=0;j<column;j++){
   objTable.Cell(i+1,j+1).Range.Text = thearray[i][j].replace("&nbsp;","");
   }
}
wdapp.Application.ActiveDocument.SaveAs("orderInfo.doc",0,false,"",true,"",false,false,false,false,false);     //保存到Word的默认文档保存路径中
wdapp.Application.Printout();     //自动打印
wdapp=null;
}
</script>
* 技巧:在Word中查看并修改默认文档保存路径的方法如下,选择“工具”→“选项”选项,在弹出的对话框中选择“文件位置”选项卡,在该选项卡中选中“文档”列表项,单击“更改”按钮,在弹出的对话框中选择默认文档保存路径,连续单击“确定”按钮即可。
(3)通过单击“打印”超级链接调用自定义JavaScript函数outDoc()。关键代码如下:
<a href="#" onClick="outDoc();">打印</a>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值