您当前的位置: 首页 > 

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

poi导出excel工具类实例

小志的博客 发布时间:2018-06-19 14:32:53 ,浏览量:0

 poi导出excel需要引入的三个jar包:poi-3.13.jar;poi-ooxml-3.13.jar;fastjson-1.2.12.jar

package com.cn; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.servlet.ServletOutputStream; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /**  * poi导出Excel 2007 OOXML (.xlsx)格式  工具类  */

public class ExcelUtil{

     public static String NO_DEFINE = "no_define";//未定义的字段

     public static String DEFAULT_DATE_PATTERN="yyyy-MM-dd";//默认日期格式

     public static int DEFAULT_COLOUMN_WIDTH = 17;       /**  * 导出Excel 2007 OOXML (.xlsx)格式  * @param title 标题行  * @param headMap 属性-列头  * @param jsonArray 数据集  * @param datePattern 日期格式,传null值则默认 年月日  * @param colWidth 列宽 默认 至少17个字节  * @param out 输出流  */

 public static void exportExcelX(String title,Map headMap,JSONArray jsonArray,

                     String datePattern,int colWidth, OutputStream out) {

       if(datePattern==null) datePattern = DEFAULT_DATE_PATTERN;        // 声明一个工作薄        SXSSFWorkbook workbook = new SXSSFWorkbook(1000);//缓存        workbook.setCompressTempFiles(true);         //表头样式        CellStyle titleStyle = workbook.createCellStyle();        titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);        Font titleFont = workbook.createFont();        titleFont.setFontHeightInPoints((short) 20);        titleFont.setBoldweight((short) 700);        titleStyle.setFont(titleFont);        // 列头样式        CellStyle headerStyle = workbook.createCellStyle();        //headerStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);        headerStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);        headerStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);        headerStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);        headerStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);        headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);        Font headerFont = workbook.createFont();        headerFont.setFontHeightInPoints((short) 12);        headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);        headerStyle.setFont(headerFont);        // 单元格样式        CellStyle cellStyle = workbook.createCellStyle();        //cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);        cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);        cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);        cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);        cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);        cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);        cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);        Font cellFont = workbook.createFont();        cellFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);        cellStyle.setFont(cellFont);        // 生成一个(带标题)表格        SXSSFSheet sheet = workbook.createSheet();        //设置列宽        int minBytes = colWidth
关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0455s