poi导出excel 并实现合并单元格

本文介绍如何利用Java的Apache POI库来导出Excel文件,并实现单元格的合并。通过示例代码展示了如何创建Excel工作簿、工作表,添加数据并设置合并的列号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原图
在这里插入图片描述
合并之后图片
在这里插入图片描述
工具类ExportExcel
package com.daxiao.test.util;

/**

  • Created by Bob on 2021/5/12.
    */
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.text.DecimalFormat;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.regex.Pattern;

import com.daxiao.test.poJo.MergeModel;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExportExcel {
/**
* 创建excel文件
* @param objData 数据
* @param fileName 文件名
* @param sheetName sheet名
* @param columns 表头
* @param mergeIndex 需要合并的列号集合
* @return
*/
public static int exportToExcelForXlsx(List<List> objData,String fileName, String sheetName, List columns,List mergeIndex) {
int flag = 0;

    // 创建工作薄
    XSSFWorkbook wb = new XSSFWorkbook();
    // sheet1
    XSSFSheet sheet1 = wb.createSheet(sheetName);

    //设置样式
    XSSFCellStyle style = wb.createCellStyle();
    style.setAlignment(HorizontalAlignment.CENTER);//水平对齐

    //表头
    sheet1.createFreezePane(0, 1);//冻结表头
    XSSFRow sheet1row1 = sheet1.createRow((short) 0);
    sheet1row1.setHeight((short) 480);
    //写入表头
    if (columns != null && columns.size() > 0) {
        for(int i=0;i<columns.size();i++) {
            String column = columns.get(i);
        
Apache poi 导出excel合并单元可以使用setRegionStyle方法来设置合并单元的样式。这个方法接受三个参数,分别是Sheet对象、CellRangeAddress对象和CellStyle对象。在这个方法中,通过循环遍历合并单元的每一行和每一列,然后获取对应的单元设置样式。具体的代码实现可以参考引用\[1\]中的示例代码。 此外,还可以使用PoiModel类来定义导出excel时的数据模型。这个类包含了内容、上一行同一位置内容、行标、列标等属性。可以根据实际需求来使用这个类。具体的代码实现可以参考引用\[2\]和引用\[3\]中的示例代码。 总结起来,Apache poi 导出excel合并单元的步骤包括设置合并单元的样式和定义导出数据的模型。可以根据具体的需求来使用相应的方法和类来实现导出功能。 #### 引用[.reference_title] - *1* *3* [poi 导出Excel 动态 合并单元](https://blog.youkuaiyun.com/weixin_65436454/article/details/127806178)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用POI 导出Excel 动态合并单元](https://blog.youkuaiyun.com/weixin_41722928/article/details/112849624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值