POI工具类


import com.alibaba.fastjson.JSONObject;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public class DownExcel {

    /**
     * 下载Excel
     * @param name 表头
     * @param nameList key
     * @param data 数据源
     * @param request
     * @param response
     * @param row 行
     * @param col 列
     */
    public static void  downExcel(String [] name,String [] nameList, List<JSONObject> data, HttpServletRequest request, HttpServletResponse response,int row,int col) {

        HSSFWorkbook workbook = new HSSFWorkbook();

        HSSFSheet sheet = workbook.createSheet("new sheet");

        HSSFRow row1 = sheet.createRow(0);

        for(int j=0;j<name.length;j++) {
            row1.createCell(j).setCellValue(name[j]);
        }

        for(int i=0;i<row;i++) {
            HSSFRow rowa = sheet.createRow(i+1);
            for(int j=0;j<col;j++){
                rowa.createCell(j).setCellValue(data.get(i).getString(nameList[j]));
            }
        }

        String fileName = System.currentTimeMillis()+".xls";

		    response.setContentType("application/octet-stream");
	        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
	        try {
				workbook.write(response.getOutputStream());
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值