您的位置:首页 > 编程语言 > Java开发

Java导出Excel合并单元格

2015-11-04 15:07 417 查看
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;

/**
* <p>合并单元格</p>
* @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、实现结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: