struts2 导出excel

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代码

 

            <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代码

<?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代码

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代码

package service;   

import java.io.InputStream;   

public interface IExcelService {   

    InputStream getExcelInputStream();   

}  b.实现类

 

Excelserviceimpl.java代码
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(00"struts2导出excel");   

            sheet.addCell(label);   

               

            workbook.write();   

            workbook.close();   

        } catch (Exception e) {   

            e.printStackTrace();   

        }   

    }   

}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值