Apache POI 合并单元格--简单解释版带Demo

Posted yanjie-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache POI 合并单元格--简单解释版带Demo相关的知识,希望对你有一定的参考价值。

合并单元格所使用的方法:

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:

 1 FileOutputStream fos=new FileOutputStream("D:\\13.xls");  
 2           
 3         Workbook wb=new HSSFWorkbook();  
 4           
 5         Sheet sheet=wb.createSheet();  
 6         /* 
 7          * 设定合并单元格区域范围 
 8          *  firstRow  0-based 
 9          *  lastRow   0-based 
10          *  firstCol  0-based 
11          *  lastCol   0-based 
12          */  
13         CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);        
14           
15         //在sheet里增加合并单元格  
16         sheet.addMergedRegion(cra);  
17           
18         Row row = sheet.createRow(0);  
19           
20         Cell cell_1 = row.createCell(3);  
21           
22         cell_1.setCellValue("When you‘re right , no one remembers, when you‘re wrong ,no one forgets .");  
23           
24         //cell 位置3-9被合并成一个单元格,不管你怎样创建第4个cell还是第5个cell…然后在写数据。都是无法写入的。  
25         Cell cell_2 = row.createCell(10);  
26           
27         cell_2.setCellValue("what‘s up ! ");  
28           
29         wb.write(fos);  
30           
31         fos.close();  

 

以上是关于Apache POI 合并单元格--简单解释版带Demo的主要内容,如果未能解决你的问题,请参考以下文章

如何使用合并单元格值大于单元格宽度的 Apache-POI 增加 excel 行的高度?

如何使用 apache poi 确定合并单元格中的行数?

Apache-poi:自动设置合并单元格的大小并使字体变为粗体

java poi 导出 excel时 ,合并单元格的问题

POI 简单合并单元格

POI 实现合并单元格以及列自适应宽度