`
houzhe11
  • 浏览: 141608 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

javascript word

阅读更多
11.2  利用Word打印报表
Microsoft Word是Microsoft提供的文档处理软件,它在处理、打印文档、资料过程中所显现出来的强大功能是有目共睹的。本节将介绍如何将网页中的数据直接导出到Word中,直接进行打印或处理后再进行打印。

实例295  将页面中的表格导出到Word并打印

实例说明
在开发动态网站时,经常会遇到打印页面中的指定表格的情况,这时可以将要打印的表格导出到Word中,然后再打印。本实例将介绍如何将页面中的订单列表导出到Word并打印。运行本实例,在页面中将显示订单信息列表,单击“打印”超级链接后,将把Web页中的数据导出到Word的新建文档中,如图11.5所示,并保存在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>

举一反三
根据本实例,读者可以:

  在企业进销存管理系统中打印各种报表;

  将Web页面中的数据自动保存到Word中。

实例296  打开指定的Word文档并打印

实例说明
在制作网站时,有时需要打开指定的Word文档并打印该文档。运行本实例,单击“浏览”按钮,打开“选择文件”对话框,在该对话框中选择要打印的Word文档,单击“打开”按钮,返回到如图11.6所示的“打开指定的Word文档并打印”页面,单击“打开Word并打印”按钮,将调用Word并自动打印选择的文档。



图11.6  打开指定的Word文档并打印

技术要点
实现利用JavaScript打开指定的Word文档并打印的思路如下:

(1)应用JavaScript的ActiveXObject()构造函数创建一个Word.Application对象的实例。

(2)激活刚刚创建的Word.Application对象的实例。

(3)通过Word.Application对象的Documents集合的Open()方法打开指定的Word文档。

(4)调用wdapp.Application.Printout()实现自动打印Word文档。

实现过程
(1)编写打开Word文档的JavaScript自定义函数openWord()。代码如下:

<script language="javascript">

function openWord(filename){

try  {

    var wrd=new ActiveXObject("word.Application");

    wrd.visible=true;

    wrd.Documents.Open(filename);

    wrd.Application.Printout();

    wrd=null;

}

catch(e){} 

}

</script>

(2)在页面的适当位置添加一个用于选择文件的文件域,名称为file1,代码如下:

<input name="file1" type="file" class="textarea" id="file1" size="35">

(3)在“打开Word并打印”按钮的onClick事件中调用自定义JavaScript函数openWord(),打开指定的Word文档并打印。关键代码如下。

<input name="Submit2" type="button" class="btn_grey" onClick="openWord(file1.value)"

value="打开Word并打印">

举一反三
根据本实例,读者可以:

  打开指定的Word文档修改后再打印。

实例297  在JSP中利用Word自动打印指定格式的会议记录

实例说明
在开发网络应用程序时,有时需要对输入的信息按指定的格式进行打印。例如在办公自动化系统中,录入的会议记录信息就需要按指定的格式打印。本实例将介绍如何在JSP中实现利用Word自动打印指定格式的会议记录。运行本实例,在页面中输入相应的会议信息,单击“Word打印”按钮,即可将录入的会议信息导出到指定的Word文档中,并自动按该文档指定的格式打印。实例运行结果如图11.7所示。

技术要点
在JSP中实现利用Word自动打印指定格式的会议记录的步骤如下。

(1)应用JavaScript的ActiveXObject()构造函数创建一个Word.Application对象的实例。

(2)打开指定的Word文档,这里需要应用JSP的内置对象request的getRequestURL()方法获取模板文档所在路径。

(3) 通过Word.Application对象的Bookmarks集合的相应方法将表单内容写入到指定的Word文档中。

(4)调用wdapp.Application.Printout()实现自动打印Word文档。

实现过程
(1)创建一个Word文档,在该文档中设计好要打印的会议记录的格式,并将其保存到实例根目录下,名称为meetingDot.doc。



图11.7  在JSP中利用Word自动打印指定格式的会议记录

(2)在创建好的Word文档中的指定位置插入书签。插入书签的方法如下:首先选中需要替换的文本,然后选择“插入”→“书签”选项,在打开的对话框中输入书签名,并单击“添加”按钮即可。

(3)在实例主页面中添加用于收集会议信息的表单及表单元素,具体设置如表11.2所示。

表11.2                                                   页面中所涉及的表单元素

名    称
元 素 类 型
重 要 属 性
含    义

form1
form
Method="post" action=""
表单

title
text
size="50"
会议标题

meetingTime
text
  会议时间

compere
text
  主持人

attend
text
size="58"
出席人员

content
text
  会议内容


(4)编写自定义JavaScript函数outDoc(),用于将表单收集的数据导出到Word中,并进行自动打印,代码如下:

<%

//获取模板文档所在的路径

int at=request.getRequestURL().lastIndexOf("/");

String path_part=request.getRequestURL().substring(0,at+1);

%>

<script language="javascript">

function outDoc(){

   var wdapp=new ActiveXObject("Word.Application");

   wdapp.visible=true;

   wddoc=wdapp.Documents.Open("<%=path_part%>meetingDot.doc");     //打开指定的文档

   var form=document.all.form1;

   title=form.title.value;

   meetingTime=form.meetingTime.value;

   compere=form.compere.value;

   attend=form.attend.value;

   content=form.content.value;

   //输出会议标题

   range =wdapp.ActiveDocument.Bookmarks("title").Range;

   range.Text=title; 

   //输出会议时间

   range =wdapp.ActiveDocument.Bookmarks("meetingTime").Range;

   range.Text=meetingTime; 

   //输出会议主持人

   range =wdapp.ActiveDocument.Bookmarks("compere").Range;

   range.Text=compere; 

   //输出出席人员

   range =wdapp.ActiveDocument.Bookmarks("attend").Range;

   range.Text=attend;

   //输出会议内容

   range =wdapp.ActiveDocument.Bookmarks("content").Range;

   range.Text=content;    

   wddoc.Application.Printout();

   wdapp=null;

}

</script>

(5)通过单击“Word打印”按钮调用自定义JavaScript函数outDoc()。关键代码如下:

<input name="Submit" type="button" class="btn_grey" onClick="outDoc()" value="Word打印">

举一反三
根据本实例,读者可以:

  在JSP中开发打印客户订单;

  在JSP中开发打印各种样式的报表。

实例298  在ASP中利用Word自动打印指定格式的会议记录

实例说明
在开发网络应用程序时,有时需要对输入的信息按指定的格式进行打印。例如在办公自动化系统中,录入的会议记录信息就需要按指定的格式打印。本实例将介绍如何在ASP中实现利用Word自动打印指定格式的会议记录。运行本实例,在页面中输入相应的会议信息,单击“Word打印”按钮,即可将录入的会议信息导出到指定的Word文档中,并自动按该文档指定的格式打印。实例运行结果如图11.8所示。



图11.8  在ASP中利用Word自动打印指定格式的会议记录

技术要点
在ASP中实现利用Word自动打印指定格式的会议记录的步骤如下。

(1)应用JavaScript的ActiveXObject()构造函数创建一个Word.Application对象的实例。

(2)打开指定的Word文档,这里需要应用ASP的内置对象request的ServerVariables()方法获取模板文档所在路径。

(3)通过Word.Application对象的Bookmarks集合的相应方法将表单内容写入到指定的Word文档中。

(4)调用wdapp.Application.Printout()实现自动打印Word文档。

实现过程
(1)创建一个Word文档,在该文档中设计好要打印的会议记录的格式,并将其保存到实例根目录下,名称为meetingDot.doc。

(2)在创建好的Word文档中的指定位置插入书签。插入书签首先选中需要替换的文本,然后选择“插入”→“书签”选项,在打开的对话框中输入书签名,并单击“添加”按钮即可。

(3)在实例主页面中添加用于收集会议信息的表单及表单元素,具体设置如表11.3所示。

表11.3                                                   页面中所涉及的表单元素

名    称
元 素 类 型
重 要 属 性
含    义

form1
form
Method="post" action=""
表单

title
text
size="50"
会议标题

meetingTime
text
  会议时间

compere
text
  主持人

attend
text
size="58"
出席人员

content
text
  会议内容


(4)编写自定义JavaScript函数outDoc(),用于将表单收集的数据导出到Word中,并进行自动打印,代码如下:

<%

'获取模板文档所在的路径

path=mid(request.ServerVariables("URL"),1,InStrRev(request.ServerVariables("URL"),"/"))

path_part="HTTP://"&request.ServerVariables("LOCAL_ADDR")&":"&_

request.ServerVariables("SERVER_PORT")&path&"meetingDot.doc"

%>

<script language="javascript">

function outDoc(){

   var wdapp=new ActiveXObject("Word.Application");

   wdapp.visible=true;

   wddoc=wdapp.Documents.Open("<%=path_part%>");     //打开指定的文档

   var form=document.all.form1;

   title=form.title.value;

   meetingTime=form.meetingTime.value;

   compere=form.compere.value;

   attend=form.attend.value;

   content=form.content.value;

   //输出会议标题

   range =wdapp.ActiveDocument.Bookmarks("title").Range;

   range.Text=title; 

   //输出会议时间

   range =wdapp.ActiveDocument.Bookmarks("meetingTime").Range;

   range.Text=meetingTime; 

   //输出会议主持人

   range =wdapp.ActiveDocument.Bookmarks("compere").Range;

   range.Text=compere; 

   //输出出席人员

   range =wdapp.ActiveDocument.Bookmarks("attend").Range;

   range.Text=attend;

   //输出会议内容

   range =wdapp.ActiveDocument.Bookmarks("content").Range;

   range.Text=content;    

   wddoc.Application.Printout();

   wdapp=null;

}

</script>

(5)通过单击“Word打印”按钮调用自定义JavaScript函数outDoc()。关键代码如下:

<input name="Submit" type="button" class="btn_grey" onClick="outDoc()" value="Word打印">

举一反三
根据本实例,读者可以:

  在ASP中开发打印客户订单;

  在ASP中开发打印各种样式的报表。

实例299  在PHP中调用Word自动打印指定格式的会议记录

实例说明
在开发网络应用程序时,有时需要对输入的信息按指定的格式进行打印。例如在办公自动化系统中,录入的会议记录信息就需要按指定的格式打印。本实例将介绍如何在PHP中实现调用Word自动打印指定格式的会议记录。运行本实例,在页面中输入相应的会议信息,单击“Word打印”按钮,即可将录入的会议信息导出到指定的Word文档中,并自动按该文档指定的格式打印,本实例运行结果如图11.9所示。



图11.9  在PHP中调用Word自动打印指定格式的会议记录

技术要点
在PHP中实现利用Word自动打印指定格式的会议记录的步骤如下。

(1)应用JavaScript的ActiveXObject()构造函数创建一个Word.Application对象的实例。

(2)打开指定的Word文档,这里需要应用PHP的函数获取模板文档所在路径,代码如下:

$path="http://".$HTTP_HOST.dirname($PHP_SELF)."/meetingDot.doc";

其中,$HTTP_HOST变量用于获取服务器名称,dirname($PHP_SELF)用于获取路径中的路径名。

(3)通过Word.Application对象的Bookmarks集合的相应方法将表单内容写入到指定的Word文档中。

(4)调用wdapp.Application.Printout()实现自动打印Word文档。

实现过程
(1)创建一个Word文档,在该文档中设计好要打印的会议记录的格式,并将其保存到实例根目录下,名称为meetingDot.doc。

(2)在创建好的Word文档中的指定位置插入书签。插入书签首先选中需要替换的文本,然后选择“插入”→“书签”选项,在打开的对话框中输入书签名,并单击“添加”按钮即可。

(3)在实例主页面中添加用于收集会议信息的表单及表单元素,具体设置如表11.4所示。

表11.4                                                   页面中所涉及的表单元素

名    称
元 素 类 型
重 要 属 性
含    义

form1
form
Method="post" action=""
表单

title
text
size="50"
会议标题

meetingTime
text
  会议时间

compere
text
  主持人

attend
text
size="58"
出席人员

content
text
  会议内容

Submit
button
class="btn_grey" onClick="outDoc()" value="Word打印"
“Word打印”按钮


(4)利用PHP获取模板文档所在的路径,代码如下:

<?php

//获取模板文档所在的路径                                

$path="http://".$HTTP_HOST.dirname($PHP_SELF)."/meetingDot.doc";

?>

(5)编写自定义JavaScript函数outDoc(),用于将表单收集的数据导出到Word中,并进行自动打印,代码如下:

<?php

//定义新型字符串

$str=<<<word

<script language="javascript">

function outDoc(){

   var wdapp=new ActiveXObject("Word.Application");

   wdapp.visible=true;

   wddoc=wdapp.Documents.Open("$path");     //打开指定的文档

   var form=document.all.form1;

   title=form.title.value;

   meetingTime=form.meetingTime.value;

   compere=form.compere.value;

   attend=form.attend.value;

   content=form.content.value;

   //输出会议标题

   range =wdapp.ActiveDocument.Bookmarks("title").Range;

   range.Text=title; 

   //输出会议时间

   range =wdapp.ActiveDocument.Bookmarks("meetingTime").Range;

   range.Text=meetingTime; 

   //输出会议主持人

   range =wdapp.ActiveDocument.Bookmarks("compere").Range;

   range.Text=compere; 

   //输出出席人员

   range =wdapp.ActiveDocument.Bookmarks("attend").Range;

   range.Text=attend;

   //输出会议内容

   range =wdapp.ActiveDocument.Bookmarks("content").Range;

   range.Text=content;    

   wddoc.Application.Printout();

   wdapp=null;

}

</script>

word;

echo $str;

?>

(6)通过单击“Word打印”按钮调用自定义JavaScript函数outDoc()。关键代码如下:

<input name="Submit" type="button" class="btn_grey" onClick="outDoc()" value="Word打印">

举一反三
根据本实例,读者可以:

  在PHP中开发打印客户订单;

  在PHP中开发打印各种样式的报表。

分享到:
评论
1 楼 我自闲庭信步 2013-02-01  
大哥为什么我用你的方法想打开word进行编辑的时候,程序只是将office的进程打开了,但是word的编辑界面却没打开呢?



<!-- 打开指定的word文档 -->
<script language="javascript">

function openWord(){

try  {
var filename="D://abc.doc";
    var wrd=new ActiveXObject("word.Application");

    wrd.visible=true;

    wrd.Documents.Open(filename);

    wrd.Application.Printout();

    wrd=null;

}

catch(e){} 

}

</script> 这是源代码。

相关推荐

    javascript Word版本

    标题中的“javascript Word版本”可能指的是一个使用JavaScript技术编写的Word文档处理工具或者教程,它允许用户在Word环境中直接操作和处理JavaScript代码。这个工具或教程可能是为了方便那些习惯于在Word环境下...

    word-count:简单的Javascript Word计数器

    "word-count:简单的JavaScript Word计数器"是一个项目,它实现了在网页中计算文本中单词数量的基本功能。这个工具主要用于统计用户输入或显示在页面上的文本中的单词数目,类似于社交媒体平台如Twitter对字符数的...

    javascript 操作Word和Excel的实现代码

    ### JavaScript操作Word和Excel的实现代码 #### 一、JavaScript操作Word文档的实现方法 根据提供的部分代码,我们可以深入分析并总结出如何使用JavaScript来操作Word文档。 ##### 1. 创建Word文档 在JavaScript...

    Javascript数组及其操作WORD版

    资源名称:Javascript数组及其操作 WORD版内容简介:本文档主要讲述的是Javascript数组及其操作;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 资源太大,传百度网盘了,链接在附件中,有...

    JavaScript教程,一看就会(Word版)

    JavaScript是一种轻量级的解释型编程语言,以其在Web开发中的广泛应用而闻名。在JavaScript中,数据和代码是编程的基本元素,它们之间的相互作用构建了程序的基础逻辑。面向对象编程(OOP)是JavaScript的核心思想之...

    js word 插件的范例

    JavaScript Word 插件是一种在网页端处理文档的强大工具,它允许用户在浏览器环境中创建、编辑和操作Microsoft Word文档。在现代Web应用中,这种技术尤其适用于在线协作、文档分享和远程工作场景。以下是对这个“js ...

    javaScript导出word和excel例子

    这个库允许JavaScript生成PDF文件,虽然不是直接生成Word文件,但用户可以将生成的PDF文件用软件如Microsoft Word打开和编辑。 5. **xlsx-js库**: 对于导出Excel文件,可以使用xlsx-js(也称为SheetJS)库。这个...

    JavaScript web转word文档

    ### JavaScript Web转Word文档知识点详解 #### 一、概述 在现代办公环境中,将Web页面中的数据导出为Microsoft Word文档的需求越来越普遍。利用JavaScript,我们可以实现这一功能,即通过客户端脚本直接生成或更新...

    北大青鸟javascript高级编程系列讲座(1)

    JavaScript,作为一种广泛应用于Web开发的客户端脚本语言,起源于1995年,由Netscape公司的Brenda Eich开发,最初被称为LiveScript。它的命名策略深受Java语言的影响,尽管两者在语法上有所不同。JavaScript 1.0随着...

    JS操作Word和Excel的方法

    在JavaScript中操作Word和Excel是一项实用的技术,尤其在自动化文档处理和数据导出场景中。以下将详细讲解如何使用JavaScript来实现这些功能。 首先,针对JS操作Word,我们可以利用ActiveXObject,这是一个仅在...

    Javascript For Beginners

    ### JavaScript for Beginners – 关键知识点概述 #### 一、基础知识 - **JavaScript**:一种广泛应用于网页开发中的脚本语言,常用于实现网页交互性,提高用户体验。 - **HTML页面**:HTML(HyperText Markup ...

    word套打测试 利用javascript控制Word

    利用JavaScript控制Word,可以实现动态数据填充和自动化处理,极大地提高了工作效率。在这个项目中,我们将探讨如何通过JavaScript实现Word的套打功能,并分析提供的文件。 首先,`test1.doc` 是一个基础的Word文档...

    javascript基础知识中文word版

    资源名称:Javascript基础知识 中文word版   内容简介: Javascript是Netscape公司开发的一种脚本语言。该语言编程的程序可以被嵌入到HTML页面中,并直接在浏览器中解释执行。喜欢的朋友...

    javascript直接打印word、excel和pdf文档

    javascript直接打印word、excel和pdf文档 缺点:需要设置浏览器的安全级别,对ActiveX脚本可执行

    JavaScript函数大全Word版

    ### JavaScript函数大全Word版知识点详解 #### 一、概述 《JavaScript函数大全Word版》是一份详尽的JavaScript基础知识及函数应用指南。该文档通过列举常见的JavaScript语法特性、内置对象和函数,帮助开发者快速...

    js直接调用word文档打印word

    在JavaScript(JS)中直接调用Word文档进行打印主要涉及到Web应用程序与本地文件系统的交互以及浏览器的安全限制。本文将深入探讨这一主题,并提供一些实现这一功能的方法。 首先,理解JavaScript在浏览器环境中的...

    word文本在线编辑器

    总结来说,"word文本在线编辑器"是一个基于Web技术,特别是JavaScript的文档编辑工具,它复现了Word的主要功能,并且允许用户插入图片、创建超链接,同时还具备功能可配置性。开发者可以通过添加插件来扩展功能,而...

    javascript实现页面导出word_and_excel举例

    本示例将详细介绍如何使用JavaScript实现页面导出Word和Excel的流程。 首先,导出Word文档通常涉及到将HTML内容转化为Word格式。一个常用的库是`html2docx`,它能够将HTML字符串转换成`.docx`文件。使用这个库,你...

    JavaScript to word 资料

    ### JavaScript与Microsoft Word交互技术 #### 一、使用JavaScript操作Word文档 1. **创建Word应用程序对象**: - 在JavaScript中,可以利用`ActiveXObject`来创建一个Word应用程序实例,进而实现对Word文档的...

    javascript字符串函数中文WORD版

    资源名称:javascript字符串函数 中文WORD版   内容简介: 本文档主要讲述的是javascript字符串函数;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看   资源截图: ...

Global site tag (gtag.js) - Google Analytics