struts2导出excel java 导出excel
来源:互联网 发布:windows双机热备方案 编辑:程序博客网 时间:2024/04/30 09:50
l例子很简单,就一个Action类和一个Service类
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.配置
- .....
- <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>
- ......
- <?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实现
- 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.接口
- package service;
- import java.io.InputStream;
- public interface IExcelService {
- InputStream getExcelInputStream();
- }
b.实现类
- package service.impl;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import jxl.Workbook;
- import jxl.write.WritableSheet;
- import jxl.write.WritableWorkbook;
- import service.IExcelService;
- public class ExcelServiceImpl implements IExcelService {
- @Override
- public InputStream getExcelInputStream() {
- //将OutputStream转化为InputStream
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- putDataOnOutputStream(out);
- return new ByteArrayInputStream(out.toByteArray());
- }
- private void putDataOnOutputStream(OutputStream os) {
- jxl.write.Label label;
- WritableWorkbook workbook;
- try {
- workbook = Workbook.createWorkbook(os);
- WritableSheet sheet = workbook.createSheet("Sheet1", 0);
- label = new jxl.write.Label(0, 0, "struts2导出excel");
- sheet.addCell(label);
- workbook.write();
- workbook.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
这样例子就完成了:
直接访问:http://127.0.0.1:8080/JXL_excel/excel.action 就可以导出excel
说明:
1、例子中OutputStream转InputStream是一种简单的实现,但是需要内存比较多,可以参考:
http://ostermiller.org/convert_java_outputstream_inputstream.html
2、参考实现:http://merrygrass.iteye.com/blog/558274
3、java报表JXL和POI打印设置
4、源码下载(例子和jar包 在eclipse下 导入可直接运行):http://download.csdn.net/detail/zljjava/4284947
- struts2导出excel java 导出excel
- struts2导出excel java 导出excel
- java/Struts2 jqgrid 导出excel
- Struts2 java 对象 导出Excel
- struts2 导出excel
- struts2导出excel文件
- Struts2导出Excel
- struts2 导出excel
- struts2 导出excel
- Struts2导出Excel
- struts2导出excel笔记
- Struts2 poi导出excel
- Struts2 导出excel完整版
- struts2 导出excel
- struts2导出excel笔记
- struts2导出excel
- java导出excel表格,Struts2配置
- struts2 用jxl 导出excel
- SharedPreferences具体使用方法及createPackageContext方法(获取其他应用的共享文件)
- Android中Preference的使用以及监听事件分析
- DestroyWindow函数
- CMM
- camera热插拔
- struts2导出excel java 导出excel
- android Notification 的使用
- Django Meta内部类选项
- 提升PHP性能的21种方法
- EndDialog函数
- 海边归来
- 推荐几个比较好的android客户端开发教程
- java中的BitSet学习
- 杀死多余的crond进程