作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服
Apache POI 合并单元格

Custom Tab


sheet.addMergedRegion( CellRangeAddress  cellRangeAddress  );


CellRangeAddress  对象的构造方法需要传入合并单元格的首行、最后一行、首列、最后一列。

CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);


怎样把数据写入合并后的单元格中

  1. 首先要查看你 CellRangeAddress 构造方法的firstcol index

  2. 创建firstcol cell对象

  3. cell 的set 方法写数据

在合并单元格的后一个位置写数据

  1. 查看  CellRangeAddress 构造方法的lastcol index     

  2. 创建lastcol+1  cell

  3. cell 的set方法写数据


以下是demo:

FileOutputStream fos=new FileOutputStream("D:\\13.xls");
		
		Workbook wb=new HSSFWorkbook();
		
		Sheet sheet=wb.createSheet();
		/*
		 * 设定合并单元格区域范围
		 * 	firstRow  0-based
		 * 	lastRow   0-based
		 * 	firstCol  0-based
		 * 	lastCol   0-based
		 */
		CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);		
		
		//在sheet里增加合并单元格
		sheet.addMergedRegion(cra);
		
		Row row = sheet.createRow(0);
		
		Cell cell_1 = row.createCell(3);
		
		cell_1.setCellValue("When you're right , no one remembers, when you're wrong ,no one forgets .");
		
		//cell 位置3-9被合并成一个单元格,
		不管你怎样创建第4个cell还是第5个cell…然后在写数据。都是无法写入的。
		Cell cell_2 = row.createCell(10);
		
		cell_2.setCellValue("what's up ! ");
		
		wb.write(fos);
		
		fos.close();






转载自:http://blog.csdn.net/hehexiaoyou/article/details/37873131

Home