通过POI实现excl导出

package com.onepiece.utils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.ss.usermodel.Header;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFDataFormat;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import com.onepiece.domain.manager.Informations;

public class Ouputone {

    public static void main(String[] args) {
//      extport();
    }

    /**
     * 导出
     * 
     * @return
     */
    public static String extport(List<Informations> infoList,String path) {
        String[] tableHeader = { 
                "机构编号", "机构地址", "机构名字", "法人姓名", "法人身份证","固定电话","手机号","范围",
                "分教点ID","分教点名", "负责人", "固定电话", "手机号", "培训范围",
                "教师姓名", "教师身份证", "毕业学校", "所学专业", "最高学历","任教学科", "教师资格证","职称", "担任职务","性别", "从教简历"
                };

        short cellNumber = (short) tableHeader.length;// 表的列数
        XSSFWorkbook workbook = new XSSFWorkbook(); // 创建一个excel
        XSSFCell cell = null; // Excel的列
        XSSFRow row = null; // Excel的行
        XSSFCellStyle style = workbook.createCellStyle(); // 设置表头的类型
        XSSFDataFormat format = workbook.createDataFormat();
        //表示单元格式全部为字符串
        style.setDataFormat(format.getFormat("@"));
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        XSSFCellStyle style1 = workbook.createCellStyle(); // 设置数据类型
        style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        style1.setFillForegroundColor((short) 22);// 设置背景色
        style1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        XSSFFont font = workbook.createFont(); // 设置字体
        XSSFSheet sheet = workbook.createSheet("sheet1"); // 创建一个sheet
        Header header = sheet.getHeader();// 设置sheet的头
        try {
            // 设置头部
            if (infoList.size() < 1) {
                header.setCenter("查无资料");
            } else {
                header.setCenter("信息表");
                row = sheet.createRow(0);
                row.setHeight((short) 400);
                for (int k = 0; k < cellNumber; k++) {
                    cell = row.createCell(k);// 创建第0行第k列
                    cell.setCellValue(tableHeader[k]);// 设置第0行第k列的值
                    sheet.setColumnWidth(k, 5000);// 设置列的宽度
                    font.setColor(HSSFFont.COLOR_NORMAL); // 设置单元格字体的颜色.
                    font.setFontHeight((short) 250); // 设置单元字体高度
                    style1.setFont(font);// 设置字体风格
                    cell.setCellStyle(style1);
                }
                // 添加数据
                for (int i = 0; i < infoList.size(); i++) {
                    Informations info1 = (Informations) infoList.get(i);// 获取info对象
                    row = sheet.createRow((short) (i + 1));// 创建第i+1行
                    row.setHeight((short) 400);// 设置行高

                    if (info1.getAgnlicense() != null) {
                        cell = row.createCell(0);// 创建第i+1行第0列
                        cell.setCellValue(info1.getAgnlicense());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getAgnaddr() != null) {
                        cell = row.createCell(1);// 创建第i+1行第0列
                        cell.setCellValue(info1.getAgnaddr());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getAgnname() != null) {
                        cell = row.createCell(2);// 创建第i+1行第0列
                        cell.setCellValue(info1.getAgnname());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getLeaglname() != null) {
                        cell = row.createCell(3);// 创建第i+1行第0列
                        cell.setCellValue(info1.getLeaglname());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getLegaltdentity() != null) {
                        cell = row.createCell(4);// 创建第i+1行第0列
                        cell.setCellValue(info1.getLegaltdentity());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getLegtel() != null) {
                        cell = row.createCell(5);// 创建第i+1行第0列
                        cell.setCellValue(info1.getLegtel());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getLegphone() != null) {
                        cell = row.createCell(6);// 创建第i+1行第0列
                        cell.setCellValue(info1.getLegphone());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getTrainscope() != null) {
                        cell = row.createCell(7);// 创建第i+1行第0列
                        cell.setCellValue(info1.getTrainscope());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    //分教点
                    if (info1.getBranchid() != null) {
                        cell = row.createCell(8);// 创建第i+1行第0列
                        cell.setCellValue(info1.getBranchid());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getBranchname() != null) {
                        cell = row.createCell(9);// 创建第i+1行第0列
                        cell.setCellValue(info1.getBranchname());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getPricinpal() != null) {
                        cell = row.createCell(10);// 创建第i+1行第0列
                        cell.setCellValue(info1.getPricinpal());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getTel() != null) {
                        cell = row.createCell(11);// 创建第i+1行第0列
                        cell.setCellValue(info1.getTel());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getPhone() != null) {
                        cell = row.createCell(12);// 创建第i+1行第0列
                        cell.setCellValue(info1.getPhone());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getBtrainscope() != null) {
                        cell = row.createCell(13);// 创建第i+1行第0列
                        cell.setCellValue(info1.getBtrainscope());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    //教师
                    if (info1.getTeachername() != null) {
                        cell = row.createCell(14);// 创建第i+1行第0列
                        cell.setCellValue(info1.getTeachername());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getTeacherid() != null) {
                        cell = row.createCell(15);// 创建第i+1行第0列
                        cell.setCellValue(info1.getTeacherid());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getGraddshchool() != null) {
                        cell = row.createCell(16);// 创建第i+1行第0列
                        cell.setCellValue(info1.getGraddshchool());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getMajor() != null) {
                        cell = row.createCell(17);// 创建第i+1行第0列
                        cell.setCellValue(info1.getMajor());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getHightstacad() != null) {
                        cell = row.createCell(18);// 创建第i+1行第0列
                        cell.setCellValue(info1.getHightstacad());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getTeachmajor() != null) {
                        cell = row.createCell(19);// 创建第i+1行第0列
                        cell.setCellValue(info1.getTeachmajor());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getCertification() != null) {
                        cell = row.createCell(20);// 创建第i+1行第0列
                        cell.setCellValue(info1.getCertification());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getProfesstitle() != null) {
                        cell = row.createCell(21);// 创建第i+1行第0列
                        cell.setCellValue(info1.getProfesstitle());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getDuty() != null) {
                        cell = row.createCell(22);// 创建第i+1行第0列
                        cell.setCellValue(info1.getDuty());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getTeachersex() != null) {
                        cell = row.createCell(23);// 创建第i+1行第0列
                        cell.setCellValue(info1.getTeachersex());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                    if (info1.getResume() != null) {
                        cell = row.createCell(24);// 创建第i+1行第0列
                        cell.setCellValue(info1.getResume());// 设置第i+1行第0列的值
                        cell.setCellStyle(style);// 设置风格
                    }
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
HttpServletResponse对象
        OutputStream out = null;
        try {
            out = new FileOutputStream(new File(path));
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        try {
            workbook.write(out);
            out.flush();
            workbook.write(out);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (out != null) {
                    out.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值