POI 简单合并单元格

这样就可以做循环的合并单元格了 

  1. public class MergedCells {  
  2.    /** 测试使用的POI版本是3.1 
  3.      * @param args 
  4.      */  
  5.      public static void main(String[] args) throws IOException {     
  6.             HSSFWorkbook wb = new HSSFWorkbook();     
  7.             HSSFSheet sheet = wb.createSheet("new sheet");     
  8.   
  9.             HSSFRow row = sheet.createRow(1);     
  10.             HSSFCell cell = row.createCell((short)1);     
  11.             cell.setCellValue("This is a test of merging");     
  12.               
  13.             //1.生成字体对象  
  14.             HSSFFont font = wb.createFont();  
  15.             font.setFontHeightInPoints((short10);  
  16.             font.setFontName("新宋体");  
  17.             font.setColor(HSSFColor.BLUE.index);  
  18.             font.setBoldweight((short0.8);  
  19.             //2.生成样式对象  
  20.             HSSFCellStyle style = wb.createCellStyle();  
  21.             style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  
  22.             style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);  
  23.             style.setFont(font); //调用字体样式对象  
  24.             style.setWrapText(true);  
  25.                            //增加表格边框的样式 例子  
  26.                            style.setBorderTop(HSSFCellStyle.BORDER_DOUBLE);  
  27.                        style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE);  
  28.                        style.setTopBorderColor(HSSFColor.GOLD.index);  
  29.                        style.setLeftBorderColor(HSSFColor.PLUM.index);  
  30.   
  31.             //3.单元格应用样式  
  32.             cell.setCellStyle(style);  
  33.               
  34.   
  35.               
  36.             //新版用法 3.8版  
  37. //           sheet.addMergedRegion(new CellRangeAddress(     
  38. //                   1, //first row (0-based)  from 行     
  39. //                   2, //last row  (0-based)  to 行     
  40. //                   1, //first column (0-based) from 列     
  41. //                   1  //last column  (0-based)  to 列     
  42. //           ));     
  43.             //表示合并B2,B3  
  44.             sheet.addMergedRegion(new Region(     
  45.                      1//first row (0-based)       
  46.                     (short)1//first column  (0-based)       
  47.                      2//last row (0-based)    
  48.                     (short)1  //last column  (0-based)       
  49.              ));     
  50.               
  51.             //合并叠加  表示合并B3 B4。但是B3已经和B2合并了,所以,变成B2:B4合并了  
  52.             sheet.addMergedRegion(new Region(     
  53.                      2//first row (0-based)       
  54.                     (short)1//first column  (0-based)       
  55.                      3//last row (0-based)    
  56.                     (short)1  //last column  (0-based)       
  57.              ));    
  58.               
  59.             //一下代码表示在D4 cell 插入一段字符串  
  60.             HSSFRow row2 = sheet.createRow(3);  
  61.             HSSFCell cell2 = row2.createCell((short)3);   
  62.             cell2.setCellValue("this is a very very very long string , please check me out.");  
  63.                       //cell2.setCellValue(new HSSFRichTextString("我是单元格!"));  
  64.   
  65.   
  66.              // Write the output to a file     
  67.              FileOutputStream fileOut = new FileOutputStream("workbook.xls");     
  68.              wb.write(fileOut);     
  69.              fileOut.close();     
  70.          }     
  71. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值