java 生成excel 单元格合并_Java导出Excel合并单元格

这篇博客介绍了如何使用Java的POI库来生成包含合并单元格的Excel文件。作者通过创建一个名为MergeCell的类,展示了如何创建工作簿、工作表,设置单元格内容,并使用Region对象进行单元格的合并,最终将结果保存为student.xls文件。
摘要由CSDN通过智能技术生成

1、问题背景

利用POI导出Excel表格,在导出的过程中涉及到双表头,即需要合并单元格

2、实现源码

/**

*

* @Project:Report

* @Title:MergeCell.java

* @Package:com.you.excel

* @Description:

* @Author:YouHaiDong

* @Date:2015年11月4日 下午2:36:46

* @Version:

*/

package com.you.excel;

import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.Region;

/**

*

合并单元格

* @ClassName:MergeCell

* @Description:

* @Author:YouHaiDong

* @Date:2015年11月4日 下午2:36:46

*

*/

public class MergeCell

{

/**

* 合并单元格

* @Title:MergeCell

* @Description:

* @param args

* @Date:2015年11月4日 下午2:36:46

* @return: void

* @throws Exception

*/

@SuppressWarnings({ "resource", "deprecation" })

public static void main(String[] args) throws Exception

{

//创建workbook

HSSFWorkbook workbook = new HSSFWorkbook();

//创建sheet页

HSSFSheet sheet = workbook.createSheet("学生表");

//创建单元格

HSSFRow row = sheet.createRow(0);

HSSFCell c0 = row.createCell(0);

c0.setCellValue(new HSSFRichTextString("学号"));

HSSFCell c1 = row.createCell(1);

c1.setCellValue(new HSSFRichTextString("姓名"));

HSSFCell c2 = row.createCell(2);

c2.setCellValue(new HSSFRichTextString("性别"));

HSSFCell c3 = row.createCell(3);

c3.setCellValue(new HSSFRichTextString("年龄"));

HSSFCell c4 = row.createCell(4);

c4.setCellValue(new HSSFRichTextString("2015年分数"));

HSSFCell c5 = row.createCell(7);

c5.setCellValue(new HSSFRichTextString("2014年分数"));

HSSFRow row1 = sheet.createRow(1);

HSSFCell c6 = row1.createCell(4);

c6.setCellValue(new HSSFRichTextString("语文"));

HSSFCell c7 = row1.createCell(5);

c7.setCellValue(new HSSFRichTextString("数学"));

HSSFCell c8 = row1.createCell(6);

c8.setCellValue(new HSSFRichTextString("外语"));

HSSFCell c9 = row1.createCell(7);

c9.setCellValue(new HSSFRichTextString("语文"));

HSSFCell c10 = row1.createCell(8);

c10.setCellValue(new HSSFRichTextString("数学"));

HSSFCell c11 = row1.createCell(9);

c11.setCellValue(new HSSFRichTextString("外语"));

Region region1 = new Region(0, (short)0, 1, (short)0);

Region region2 = new Region(0, (short)1, 1, (short)1);

Region region3 = new Region(0, (short)2, 1, (short)2);

Region region4 = new Region(0, (short)3, 1, (short)3);

Region region5 = new Region(0, (short)4, 0, (short)6);

Region region6 = new Region(0, (short)7, 0, (short)9);

sheet.addMergedRegion(region1);

sheet.addMergedRegion(region2);

sheet.addMergedRegion(region3);

sheet.addMergedRegion(region4);

sheet.addMergedRegion(region5);

sheet.addMergedRegion(region6);

FileOutputStream stream = new FileOutputStream("d:/student.xls");

workbook.write(stream);

}

}

3、实现结果

1adb802c9586d3cd9bd3aa71d9571680.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值