输出WORD文档

本文介绍了如何将JSP页面中按钮触发的JavaScript方法生成的HTML内容转换为Word文档。通过设置响应头、输出流等操作,实现将动态生成的HTML内容以Word文档的形式展示给用户。
输出word文档类似像word里面写入html。
jsp页面button调用的js方法:

function test() {
var url = "<%=request.getContextPath()%>/test.do";
url += "&time=" + new Date();
document.formName.action = url;
document.formName.target = "left"; // 根据个人使用情况进行调整
document.formName.submit();
document.formName.target = "_self"; // 根据个人使用情况进行调整
}

Action中的代码(使用的是SSH框架)

// 清楚buffer
response.reset();
// 设施返回文件的类型
response.setContentType("application/vnd.ms-word");
// 设置下载文件的文件名
response.addHeader("Content-Disposition", "attachment", filename="test.doc");
// 创建输出流对象
OutputStream os = response.getOutputStream();
// 创建缓冲字符输出流
BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(os));
bf.write("<HTML>");
bf.newLine(); // 写入一个行分隔符
bf.write("<HEAD>");
bf.newLine();
bf.write("<style type=\"text/css\">");
bf.newLine();
bf.write("body {FONT-SIZE: 12px}");
bf.newLine();
bf.write("</style>")
bf.newLine();
bf.write("<HEAD>");
bf.newLine();
bf.write("<BODY>");
bf.newLine();
bf.write("<CENTER><H2>测试</H2>");
bf.newLine();
bf.write("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=2 WIDTH=600>");
bf.newLine();
bf.write("<TR>");
bf.newLine();
bf.write("<TD VALIGN=TOP NOWRAP ALIGN=RIGHT><B>测试一</B></TD>");
bf.newLine();
bf.write("<TD VALIGN=TOP NOWRAP>");
bf.write("测试二");
bf.write("</TD>");
bf.newLine();
bf.write("</TR>");
bf.newLine();
bf.write("<TR>");
bf.newLine();
bf.write("<TD VALIGN=TOP NOWRAP COLSPAN=2><B>测试三</B></TD>");
bf.newLine();
bf.write("</TR>");
bf.newLine();
bf.write("</TABLE>");
bf.newLine();
bf.write("<BR>");
bf.newLine();
bf.write("</BODY>");
bf.newLine();
bf.write("</HTML>");
bf.newLine();
bf.flush(); // 刷新该流的缓冲
bf.close();// 关闭流
// 提高处理效率
os.flush();
// 关闭输出流对象
os.close();

还有挺多其他的属性,真正写的时候查下API,根据个人情况改写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值