登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学无止境

一点积累,与大家分享

 
 
 

日志

 
 

struts2导出excel笔记  

2010-05-31 10:37:56|  分类: jsp技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.所需jar包

struts2需要jar包:commons-logging.jar、freemarker-2.3.8.jar、ognl-2.6.11.jar、struts2-core-2.0.11.1.jar、xwork-2.0.4.jar

excel导出:jxl.jar

2.配置

Web.xml代码
  1.   .....            
  2.              <filter>  
  3.     <filter-name>struts2</filter-name>  
  4.     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  5. </filter>  
  6. <filter-mapping>  
  7.     <filter-name>struts2</filter-name>  
  8.     <url-pattern>/*</url-pattern>  
  9. </filter-mapping>  
  10.  ......  
   .....          
              <filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
  ......
 
Struts.xml代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >  
  3. <struts>  
  4.     <package name="platform-default" extends="struts-default">  
  5.         <action name="excel" class="action.ExcelAction">  
  6.             <result name="excel" type="stream">  
  7.                 <param name="contentType">  
  8.                     application/vnd.ms-excel  
  9.                 </param>  
  10.                 <param name="inputName">excelStream</param>  
  11.                 <param name="contentDisposition">  
  12.                     filename="export.xls"  
  13.                 </param>  
  14.                 <param name="bufferSize">1024</param>  
  15.             </result>  
  16.         </action>  
  17.     </package>  
  18. </struts>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>
	<package name="platform-default" extends="struts-default">
		<action name="excel" class="action.ExcelAction">
			<result name="excel" type="stream">
				<param name="contentType">
					application/vnd.ms-excel
				</param>
				<param name="inputName">excelStream</param>
				<param name="contentDisposition">
					filename="export.xls"
				</param>
				<param name="bufferSize">1024</param>
			</result>
		</action>
	</package>
</struts>

3.Action实现

 

Excelaction代码
  1. package action;  
  2.   
  3. import java.io.InputStream;  
  4. import service.IExcelService;  
  5. import service.impl.ExcelServiceImpl;  
  6. public class ExcelAction {  
  7.       
  8.     InputStream excelStream;  
  9.       
  10.     public String execute(){  
  11.         IExcelService es = new ExcelServiceImpl();  
  12.         excelStream = es.getExcelInputStream();  
  13.         return "excel";  
  14.     }  
  15.     //get set...  
  16. }  
package action;

import java.io.InputStream;
import service.IExcelService;
import service.impl.ExcelServiceImpl;
public class ExcelAction {
	
	InputStream excelStream;
	
	public String execute(){
		IExcelService es = new ExcelServiceImpl();
		excelStream = es.getExcelInputStream();
		return "excel";
	}
	//get set...
}

4.Service实现

a.接口

 

Iexcelservice代码
  1. package service;  
  2. import java.io.InputStream;  
  3. public interface IExcelService {  
  4.     InputStream getExcelInputStream();  
  5. }  
package service;
import java.io.InputStream;
public interface IExcelService {
	InputStream getExcelInputStream();
}

b.实现类

 

Excelserviceimpl.java代码
  1. package service.impl;  
  2.   
  3. import java.io.ByteArrayInputStream;  
  4. import java.io.ByteArrayOutputStream;  
  5. import java.io.InputStream;  
  6. import java.io.OutputStream;  
  7.   
  8. import jxl.Workbook;  
  9. import jxl.write.WritableSheet;  
  10. import jxl.write.WritableWorkbook;  
  11. import service.IExcelService;  
  12.   
  13. public class ExcelServiceImpl implements IExcelService {  
  14.   
  15.     @Override  
  16.     public InputStream getExcelInputStream() {  
  17.         //将OutputStream转化为InputStream  
  18.         ByteArrayOutputStream out = new ByteArrayOutputStream();  
  19.         putDataOnOutputStream(out);  
  20.         return new ByteArrayInputStream(out.toByteArray());  
  21.     }  
  22.   
  23.     private void putDataOnOutputStream(OutputStream os) {  
  24.         jxl.write.Label label;  
  25.         WritableWorkbook workbook;  
  26.         try {  
  27.             workbook = Workbook.createWorkbook(os);  
  28.             WritableSheet sheet = workbook.createSheet("Sheet1"0);  
  29.   
  30.             label = new jxl.write.Label(00"struts2导出excel");  
  31.             sheet.addCell(label);  
  32.               
  33.             workbook.write();  
  34.             workbook.close();  
  35.         } catch (Exception e) {  
  36.             e.printStackTrace();  
  37.         }  
  38.     }  
  39. }
  评论这张
 
阅读(2325)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018