jsp导出为office文档

jsp导出为office文档

导出word文档

第一步:编辑好word模版,然后另存为*.htm,比如:liukun.htm。
技巧:在需要填写数据的地方最好预填入一些易识别的数据,这样方便后面填写jsp代码。
第二步:把htm后缀改为jsp,比如:liukun.jsp。
第三步:添加jsp的头,比如:
<%@page contentType="application/msword;charset=GBK"%>
如果有import,也要在这里导入。
技巧:application/msword;这个参数很重要,有了这个参数,调用这个页面时,就会把页面内容存为word。当然,本地必须安装office。

导出Excel文档

只需要在jsp的最上面加上一句话

<%
   response.reset(); 
   response.setContentType(
" application/vnd.ms-excel;charset=GBK " );
%>

就可以将网页的内容导出为Excel。
目前给出的例子为了方便起见,就是使用了纯粹的静态页面,一个table其中有一行是标题,一行是内容,但是实际使用中不可能这么简单,都是保持静态的内容,如果需要保存的内容是从数据库中取出,则只需要循环遍历取出的内容,添加行就行了,假如从数据库中取出的数据存入UserList中,可以使用struts标签进行遍历如下:

< table  class ="common1"  cellpadding ="5"  cellspacing ="1"  align ="center"   >
        
< tr >
          
< td  class =formtitle  colspan ="4" >< CENTER >  清单 </ CENTER >   </ td >
        
</ tr >
        
< tr >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 姓名 </ td >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 年龄 </ td >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 性别 </ td >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 住址 </ td >
        
</ tr >
        
< logic:present  name ="UserList" >
            
< logic:iterate  id ="user"  name ="UserList" >
              
< tr >
                 
< td  align ="center"  nowrap style ="width:13%" >
                     
< bean:write  name  = "user" ,property ="name" />
                 
</ td >
                 
< td  align ="center"  nowrap style ="width:13%" >
                     
< bean:write  name  = "user" ,property ="age" />
                 
</ td >
                
< td  align ="center"  nowrap style ="width:13%" >
                     
< bean:write  name  = "user" ,property ="sex" />
                
</ td >
                
< td  align ="center"  nowrap style ="width:13%" >
                     
< bean:write  name  = "user" ,property ="address" />
                
</ td >
              
</ tr >
            
</ logic:iterate >
        
</ logic:present >
</ table >

 下面是完整的例子,新建一个index.jsp,里面只需要一个超链接<a href = 'DownLoadExcel.jsp'>导出Excel</a>
再新建一个DownLoadExcel.jsp,内容如下:

<%
   response.reset(); 
   response.setContentType(
" application/vnd.ms-excel;charset=GBK " );
%>

< html >
    
< head >

        
< title > 刷卡消费情况 </ title >

        
< style  type ="text/css" >
            table.common1 
{
          width
:  100% ;
                  font-size
:  9pt ;
                  style-align
:  center ;
                  background-color
:  #ffffff ;
            
}
            td.formtitle 
{
          font-size
:  9pt ;
                    background
: #a480b2 ;
                    color
: #ffffff ;
                    height
: 30px ;
                    text-align
:  center ;
        
}
        
</ style >

    
</ head >

    
< body >

    
< form  name ="fm"  method ="post"   >
      
< table  class ="common1"  cellpadding ="5"  cellspacing ="1"  align ="center"   >
        
< tr >
          
< td  class =formtitle  colspan ="4" >< CENTER >  清单 </ CENTER >   </ td >
        
</ tr >
        
< tr >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 姓名 </ td >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 年龄 </ td >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 性别 </ td >
          
< td  class =formtitle  align ="center"  nowrap style ="width:13%" > 家庭住址 </ td >
        
</ tr >
        
< tr >
          
< td  align ="center"  nowrap style ="width:13%" > 张三 </ td >
          
< td  align ="center"  nowrap style ="width:13%" > 25 </ td >
          
< td  align ="center"  nowrap style ="width:13%" > </ td >
          
< td  align ="center"  nowrap style ="width:13%" > 北京中关村 </ td >
        
</ tr >
     
</ table >
    
</ form >

    
</ body >

</ html >

 

部署好程序,在index.jsp中点击超链接就可以完成导出了!

你可能感兴趣的:(jsp导出为office文档)