java csv 复杂表头_POIUtil(动态复杂表头、动态数据、多线程、合并数据列的POI导出成Excel工具附带生成csv文件)...

本文介绍了一种使用Java的POI库创建动态复杂表头、处理多线程和合并数据列的方法,包括从Excel转换为CSV。提供了一个工具类POIUtil,用于高效地导出包含多行表头、合并单元格的Excel,并能自定义每页显示的数据量。
摘要由CSDN通过智能技术生成

package com.sckj.base.util;

import java.io.IOException;

import java.lang.reflect.Constructor;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.concurrent.Callable;

import java.util.concurrent.ExecutorCompletionService;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

import java.util.concurrent.Future;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.collections4.CollectionUtils;

import org.apache.commons.collections4.ListUtils;

import org.apache.poi.ss.usermodel.BorderStyle;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.CellStyle;

import org.apache.poi.ss.usermodel.FillPatternType;

import org.apache.poi.ss.usermodel.Font;

import org.apache.poi.ss.usermodel.HorizontalAlignment;

import org.apache.poi.ss.usermodel.IndexedColors;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.VerticalAlignment;

import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.ss.util.CellRangeAddress;

import org.apache.poi.xssf.streaming.SXSSFSheet;

import org.apache.poi.xssf.streaming.SXSSFWorkbook;

public class POIUtil {

/**

* POI导出Excel表格(多行表头、合并单元格)

*

* @param rowTotalNum 表头总行数

* @param colTotalNum 表头列数

* @param sheetName 表单名称

* @param fileName 导出文件名称(带文件后缀)

* @param headerNameList 表头字段名称集合,按顺序传入每行的字段名称,特别注意:每行字段名称为一个数组,合并单元格时字段跨几列就将该字段重复几次

* @param headerNumList 表头字段 行列位置集合,按顺序传入以上对应字段的行列占用位置,特别注意:每行字段行列位置为一个数组,"0,2,0,0"

* ===> “起始行,截止行,起始列,截止列”

* @param dataList 数据

* @param perPageNum 每个sheet页自定义显示条数

* @param isMerge 是否需要合并相同数据列(如果设置为false,那么columns里设置什么都不会起作用)

* @param startRow 除开表头的开始行

* @param columns 合并的列的序号(0开始)

* @param clazz 业务逻辑类(写业务方法的类)

* &#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值