最近项目开发中,需要将页面转为Word。
同时需要在保存为Word时分页处理。
经过参考一些方法,采用如下处理方式,一共参考:
1.页面转为Word方式处理
在页面开头的位置加上JAVA代码 我使用了一个参数来判断是否Word显示,如果不是word显示将显示正常的页面。
<%
//是页面显示还是word格式
String
isword=(String)request.getAttribute("isword");//参数 用来判断是否是word输出
if(isword==null) isword="0"; //默认显示详细页面 不是word输出
if(isword.equals("1")){
String
fileStr1=searchTime+searchPlace+"我的Word文档";
String fileStr=new
String(fileStr1.getBytes("gb2312"),"ISO-8859-1");//转为文件名支持中文(用来支持中文的文件名)
response.setHeader("Content-Disposition","attachment;filename="+fileStr+".doc");
//设置页面样式word格式
}
%>
2.页面转为Word,实现分页功能(页面打印时分页)
把下面这句话加在需要分页的地方。打印与保存Word(页面时候方式)时会实现分页功能。
<br
style="page-break-before:always"> //打印及生成word分页符
下面这句话实现直接打印功能
<input
name="btnPrint" type="button" class="btnQQ" value=" 直接打印 "
onClick="javascript:document.focus();window.print();"/>
3.页面含有图片是,另存为word时有时也遇到问题处理
保存word时发现有的图片无法保存的情况。后来发现,做如下处理,可以实现图片的正确保存到word
在页面带头需要需要指定basePath
<%
String path =
request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
在页面的<head>中指定base href为如下内容
<base
href="<%=basePath%>">
就可以实现图片保存到word文档。