posts - 2,  comments - 5,  trackbacks - 0
最近项目中碰到了要自动生成WORD的问题,开始也去找了些开源的东西,比如JACOB,但是它存在一些缺陷。例如它要求JDK在1.4以下,并且还要在设置PATH,比较麻烦,所以最后决定通过客户端的JS来实现需求。
下面是个简单的例子:
<HTML>
  
<HEAD>
    
<title>
    
</title>
  
</HEAD>
<body>
<form id="form">
<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" >
<TR style="text-align : center;">
 
<TD>单元格1</TD>
 
<TD>单元格2</TD>
 
<TD>单元格3</TD>
 
<TD>单元格4</TD>
</TR>
<TR>
 
<TD colSpan=4 style="text-align : center;"><font color="red" face="Verdana">单元格合并</FONT></TD>
</TR>
</TABLE>
<BR>
<table id = "Test" width="100%">
<tr>
<td><font color="red">test</FONT></td>
</tr>
</table>
</form>
<input type="button" onclick="javascript:MakeWord();" value="导出页面到Word">
<SCRIPT LANGUAGE="javascript">
 function MakeWord()
 
{
  var word 
= new ActiveXObject("Word.Application");
  var doc 
= word .documents.open("http://jazzy:8080/slide/files/jazzy/test.doc");     //此处为打开已有的模版
或者var doc = word .Documents.Add("",0,1);//不打开模版直接加入内容
  var oRange =doc .Range(5,6);
  var sel 
= document.body.createTextRange();
  sel.moveToElementText(form);
//此处form是页面form的id
  sel.select();
  sel.execCommand(
"Copy");
  oRange.Paste();
  word .Application.Visible 
= true;
  doc .saveAs(
"http://jazzy:8080/slide/files/jazzy/ba.doc");     //存放到指定的位置
 }

</SCRIPT>
</body></html>
posted on 2006-04-17 16:15 火焰男 阅读(5680) 评论(4)  编辑  收藏

FeedBack:
# re: 用JS生成WORD
2006-08-04 17:34 | java爱好者221
行33
数值超出范围

问一下
var oRange =doc .Range(5,6);
这句是什么意思?  回复  更多评论
  
# re: 用JS生成WORD
2007-02-06 16:18 | freedom_wind
好象有错误啊  回复  更多评论
  
# re: 用JS生成WORD
2008-04-04 00:16 | 绗绗
谢谢!真的是不知道怎么说谢谢,我研究这个问题好久了,也找了好久答案,身边的人也没有一个告诉我的,我又真的很需要这个答案,所以无敌感谢。估计没机会实际的感谢勒,预祝工作顺利!总之感谢~~  回复  更多评论
  
# re: 用JS生成WORD
2008-04-04 00:17 | 绗绗
数值变成0,0.还有保存的地址要改改。。我估计应该是不是可以不保存的呢!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(2)

随笔档案(2)

文章档案(1)

相册

其他人的blog

最新随笔

搜索

  •  

积分与排名

  • 积分 - 7084
  • 排名 - 2724

最新评论

  • 1. re: webwork统一处理异常
  • getValueStack()这个方法是什么意思?
  • --hnbczr
  • 2. re: 用JS生成WORD
  • 数值变成0,0.还有保存的地址要改改。。我估计应该是不是可以不保存的呢!
  • --绗绗
  • 3. re: 用JS生成WORD
  • 谢谢!真的是不知道怎么说谢谢,我研究这个问题好久了,也找了好久答案,身边的人也没有一个告诉我的,我又真的很需要这个答案,所以无敌感谢。估计没机会实际的感谢勒,预祝工作顺利!总之感谢~~
  • --绗绗
  • 4. re: 用JS生成WORD
  • 好象有错误啊
  • --freedom_wind
  • 5. re: 用JS生成WORD
  • 行33
    数值超出范围

    问一下
    var oRange =doc .Range(5,6);
    这句是什么意思?
  • --java爱好者221

阅读排行榜

评论排行榜