导出EXCEL

import au.com.bytecode.opencsv.CSVWriter;

import java.io.IOException;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.net.URLEncoder;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

 

public class ExportExcel {

 

    String[] options;

    List list;

    OutputStream os;

    CSVWriter writer;

 

    public ExportExcel(String[] options, List list, HttpServletResponse response) {

        this.options = options;

        this.list = list;

 

        String filename = "导出.csv";

        String encodeString = null;

        try {

            encodeString = URLEncoder.encode(filename, "utf-8");

            response.setHeader("Content-disposition", "attachment;filename=" + encodeString);

            this.os = response.getOutputStream();

            this.writer = new CSVWriter(new OutputStreamWriter(os));

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

 

    public void export() {

        int row = list.size();

        int cloumn = options.length;

 

        //写入列名称

        writer.writeNext(options);

 

        for (int i = 0; i < row; i++) {

            Object[] obj = (Object[]) list.get(i);

            String str[] = new String[cloumn];

            for (int j = 0; j < cloumn; j++) {

                if(j == 1 || j == 3){

                    str[j] = obj[j] == null ? "" : "/t"+obj[j].toString();          //导出CSV文件时第一列跟第三列加/t,其余不加,使用时注意导出文件中一列与三列的值

                }else

                    str[j] = obj[j] == null ? "" : obj[j].toString();

            }

            writer.writeNext(str);

        }

        try {

            writer.close();

            os.flush();

            os.close();

        } catch (IOException ex) {

            ex.printStackTrace();

        }

    }

}

// 方法的調用 ExportExcel exportExcel = new ExportExcel(obj, list,response);

// exportExcel.Export();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值