导出到word,并产生目录

function doPrint(servlet, form) {
var oWord = new ActiveXObject("Word.Application");
var oDoc = oWord.Documents.Add("",0,1);
var strFields = form.elements["gFields"].value;
var fields = strFields.split(",");
oWord.Selection.TypeParagraph();
oWord.Selection.Style = oDoc.Styles("正文");
var wdPageBreak = 7;
oWord.Selection.InsertBreak(wdPageBreak); //生成下一页,用于产生正文部分。当前页用于生成目录
for(var i=0;i<fields.length;i++){
form.elements["gFields"].value = fields[i];
var oRange = oWord.Selection.Range;
pastObj(servlet,form,oWord);
}
oWord.Selection.TypeBackspace(); //去掉最后一页
oWord.Selection.HomeKey(6); //返回首页的第一行
oWord.Selection.Font.Bold = 9999998; //加粗
oWord.Selection.Font.Size = 16; //设置字体大小(3号)
oWord.Selection.TypeText("目录");
oWord.Selection.ParagraphFormat.Alignment = 1; //居中
oWord.Selection.TypeParagraph(); //换行
oWord.Selection.Style = oDoc.Styles("正文"); //样式设为正文
oWord.Application.WindowState = 2;
oWord.Application.WindowState = 0;
//生成目录
oWord.ActiveDocument.TablesOfContents.add(oWord.Selection.Range,true,1,3,false,"",true,true,"",true,true,true);
oWord.ActiveDocument.TablesOfContents(1).TabLeader = 1
oWord.ActiveDocument.TablesOfContents.Format = 0;
oWord.Selection.Sections(1).Footers(1).PageNumbers.Add(2,true); //在页脚出生成页码
oWord.Application.Visible = true;
//退出word
//oWord.Quit();
oWord = null;
}
function pastObj(servlet, form,oWord){
var ajax = new AJAXInteraction(servlet, function(requestText) {
if (requestText == "FAILED") {
return;
}
else {
var oDoc = oWord.ActiveDocument;
var sele = oWord.Selection;
sele.Style = oDoc.Styles("标题 1"); //设置样式为标题1
var tempObj = document.getElementById("content");
tempObj.innerHTML = requestText;
var title = document.getElementById("title_"+form.elements["gFields"].value).value;
oWord.Selection.TypeText(title); //取得单位名称,并设为标题
sele.TypeParagraph(); //换行
sele.Style = oDoc.Styles("正文"); //设置样式为正文
var arrs = requestText.split("^^^");
for(var i=0;i<arrs.length;i++){
var obj = document.getElementById("content");
obj.innerHTML = arrs[i];
var sel = document.body.createTextRange();
sel.moveToElementText(obj);
sel.select();
sel.execCommand("Copy");
sele.paste();
var wdPageBreak = 7;
sele.InsertBreak(wdPageBreak); //生成下一页
}
//sele.TypeParagraph();
//sele.TypeText("测试1");
//sele.Style = oDoc.Styles("正文");
}
});
ajax.doPost(getRequestBody(form));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值