用jsp生成Word文档

这个跟网上提供的有所不同,所有的输出内容是用标签来实现。
<%@ page language="java" contentType = "application/vnd.ms-excel; charset=gbk"%>
<%@ page language="java" pageEncoding="GBK"%>

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

<%
response.setContentType("application/msword");
String filename = new String(("调查报告").getBytes("GBK"),"ISO-8859-1");
response.setHeader("Content-Disposition", "inline; filename=\""+filename+".doc\"");
%>
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>调查管理系统</o:Author>
<o:LastAuthor>调查管理系统</o:LastAuthor>
<o:Revision>1</o:Revision>
<o:TotalTime>0</o:TotalTime>
<o:Created>2008-12-12T05:06:00Z</o:Created>
<o:LastSaved>2008-12-12T05:06:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Company>WwW.YlmF.CoM</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:Version>11.9999</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
h1
{mso-style-next:正文;
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:justify;
text-justify:inter-ideograph;
line-height:240%;
mso-pagination:lines-together;
page-break-after:avoid;
mso-outline-level:1;
font-size:22.0pt;
font-family:"Times New Roman";
mso-font-kerning:22.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
</head>

<body style='tab-interval:21.0pt;text-justify-trim:punctuation'>

<div style='layout-grid:15.6pt'>

<p><span><o:p><br> </o:p></span></p>

</div>

<logic:notEmpty name="list">
<logic:iterate id="listPrint" name="list">
<p align="center"><strong>XX保险股份有限公司调查报告书</strong></p>
<table width="630" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="68" height="28" valign="top"><p align="center">(投)保单(赔案)号</p></td>
<td width="127" valign="top"><p align="center">
<logic:notEmpty name="listPrint" property="claimno">
<bean:write name="listPrint" property="claimno"/> 
</logic:notEmpty>
<logic:empty name="listPrint" property="claimno">
<bean:write name="listPrint" property="appno"/> 
</logic:empty>
</p></td>
<td width="68" valign="top"><p align="center">被调查人</p></td>
<td width="90" valign="top"><p align="center"><bean:write name="listPrint" property="name"/> </p>
</td>
<td width="64" valign="top"><p align="center">身份证号</p></td>
<td width="199" valign="top"><p align="center"><bean:write name="listPrint" property="pid"/> </p></td>
</tr>
<tr>
<td width="68" valign="top"><p align="center"> </p>
<p align="center">交查目的、内容、途径等</p></td>
<td colspan="5" valign="top">
<p><bean:write name="listPrint" property="invdest"/> </p></td>
</tr>
<tr>
<td width="68" height="56" valign="top"><p align="center"> </p>
<p align="center">调查地点</p>
<p align="center"> </p></td>
<td colspan="5" valign="top"><p><bean:write name="listPrint" property="invaddr"/> </p></td>
</tr>
<tr>
<td width="68" valign="top"><p align="center"> </p>
<p align="center"> </p>
<p align="center">调查经过</p>
<p align="center"> </p>
<p align="center"> </p></td>
<td colspan="5" valign="top"><p><bean:write name="listPrint" property="invprocess"/> </p></td>
</tr>
<tr>
<td width="68" valign="top"><p align="center"> </p>
<p align="center"> </p>
<p align="center">调查结论</p>
<p align="center"> </p>
<p align="center"> </p>
</td>
<td colspan="5" valign="top"><p align="center">
<logic:equal value="0" name="listPrint" property="resultcode">正常件</logic:equal>
<logic:equal value="1" name="listPrint" property="resultcode">异常件</logic:equal>
<logic:equal value="2" name="listPrint" property="resultcode">参考件</logic:equal>
</p>
<p><bean:write name="listPrint" property="invresult"/></p></td>
</tr>
<tr>
<td width="68" valign="top"><p align="center">备注</p>
<p align="center"> </p></td>
<td colspan="5" valign="top"><p> </p>
<p align="right">调查人:  <bean:write name="listPrint" property="invgrpman"/>   日期:<bean:write name="listPrint" property="signdate" format="yyyy"/>年<bean:write name="listPrint" property="signdate" format="MM"/>月<bean:write name="listPrint" property="signdate" format="dd"/>日</p></td>
</tr>
<tr>
<td width="68" valign="top"><p align="center">主管意见</p>
<p align="center"> </p></td>
<td colspan="5" valign="top"><p><bean:write name="listPrint" property="notion"/> </p>
<p align="right">调查主管:  <bean:write name="listPrint" property="disno"/>   日期:<bean:write name="year"/>年<bean:write name="month"/>月<bean:write name="day"/>日</p></td>
</tr>
</table>
</logic:iterate>
</logic:notEmpty>

<logic:notPresent name="list">
<table align="center">
<tr>
<td align="center" style="color:red">
没有符合条件的记录
</td>
</tr>
</table>
</logic:notPresent>
</body>

</html>

Body部分可以换成自己的内容。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 JSP 页面导出为 Word 文档,可以使用 Java 中的 POI 库来实现。具体步骤如下: 1. 添加 POI 库的依赖,可以在 Maven 中添加以下依赖: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 2. 在 JSP 页面中添加导出按钮,点击该按钮时触发导出事件,将 JSP 页面中的内容导出为 Word 文档。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*, org.apache.poi.xwpf.usermodel.*" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>导出 Word 文档</title> </head> <body> <h1>将 JSP 页面导出为 Word 文档</h1> <form action="exportWord.jsp" method="post"> <input type="submit" value="导出 Word"> </form> <%! public void exportWord() throws IOException { // 创建 Word 文档对象 XWPFDocument document = new XWPFDocument(); // 创建段落对象 XWPFParagraph paragraph = document.createParagraph(); // 设置段落文本 paragraph.createRun().setText("这是导出的 Word 文档内容!"); // 输出 Word 文档 OutputStream out = response.getOutputStream(); response.setContentType("application/msword"); response.setHeader("Content-Disposition", "attachment;filename=test.docx"); document.write(out); out.flush(); out.close(); } %> <%-- 导出 Word 文档 --%> <%if (request.getParameter("export") != null) { exportWord(); }%> </body> </html> ``` 在上述示例代码中,使用 `XWPFDocument` 创建 Word 文档对象,使用 `XWPFParagraph` 创建段落对象,最后将 Word 文档导出到浏览器中。在导出时,需要设置响应的 Content-Type 和 Content-Disposition 头,使浏览器能够正确地识别导出的文件类型并进行下载。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值