求助:jsp页面 根据word模板生成word

andle 2010-05-06 11:32:34
我做了一个word模板,定义好了书签为listyd,书签是在一个表格中,在书签位置动态的生成表格,例子代码如下:
var ole = new ActiveXObject("Word.Application");
var url=c:\nsqktzs_fm.doc"

var doc =ole.documents.open(url,false,false);
ole.Visible = true;
ole.selection.find.forward =true;

var rg=ole.selection.goto(true,0,0,"listyd");
var tab=doc.Tables.Add(rg, 2,2) ;
for(var i=1;i<=2;i++){
for(var j=1;j<=2;j++){
var rgcell=tab.Cell(i,j).Range;
rgcell.InsertAfter(i+j);

}
}
生成的表格嵌套在以前的表格中,很难看,如何能让生成的表格和外边的表格看上去是一个整体。
...全文
101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoojo 2010-05-06
  • 打赏
  • 举报
回复
rgcell.InsertAfter(i+j);
可以用insertBefore么。
也可以考虑用java语言做word模板。

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%
response.setHeader("Content-disposition", "attachment; filename="+new String("维修情况记录".getBytes("GBK"),"iso8859-1")+".doc");
%>
<html>
<head>
<style type="text/css">
.oBox {
border: none;
width: 100%;
}

center {
text-align: center;
font-size: 26px;
font-weight: bold;
}
table {
border: none;
width: 100%;
border-collapse: collapse;
}

#tab td {
border: 1px solid #000000;
height: 50px;
text-align: center;
}
</style>
</head>
<body>
<p>BG-082(ver2.0) <br />
<center>故障及维修情况记录</center><br />
编号: </p>
<div align="center">
<table id="tab" height="100%">
<tr>
<td width="17%"><br />
名称 </td>
<td width="82%" colspan="3">${eForm.e_name }</td>
</tr>
<tr>
<td width="17%">型号规格 </td>
<td width="45%">${eForm.e_type }</td>
<td width="14%">编  号 </td>
<td width="22%">${eForm.e_format }</td>
</tr>
<tr>
<td width="100%" colspan="4">
<p align="left">设备损害、故障(失灵)情况:<br/> ${faultForm.efFaultCircs }</p>
<p align="right">保管人:${faultForm.efCustodian }  报告日期:${faultForm.efNotifyDate }</p></td>
</tr>
<tr>
<td width="100%" colspan="4">
<p align="left">维修情况: <br/>
${faultForm.efMaintainCircs }</p>
<p align="right">检修人:${faultForm.efOverhaulPerson }  检修日期:${faultForm.efOverhaulDate } </p></td>
</tr>
<tr>
<td width="100%" colspan="4" align="left">
<p align="left">验收意见(是否需要校准): <br/>${faultForm.efCheckFurlCircs }</p>
<p align="right">验收人:${faultForm.efCheckFurlPerson }  验收日期:${faultForm.efCheckFurlDate } </p>
</td>
</tr>
<tr>
<td width="100%" colspan="4" align="left">
<p align="left">仪器缺陷对测量结果影响的追溯: <br/>${faultForm.efTraceSource }</p>
<p align="right">检查人:${faultForm.efBackCheckPerson }  日期:${faultForm.efBackCheckDate } </p></td>
</tr>
</table>
</div>
</body>
</html>


  • 打赏
  • 举报
回复
将外边表格的border置成0,然后用inner插入再试试
牛叔 2010-05-06
  • 打赏
  • 举报
回复
你直接做dot文件
还有你书签在表格里
生成的表格当然就嵌套在表格里了。。。
除非你把书签移出来,或者用vba实现,合并表格。
我以前用过dsoframer控件。。。,有方法取到application对象
这样的我没做过

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧