POI 简单合并单元格

public class MergedCells {
   /** 测试使用的POI版本是3.1
     * @param args
     */
     public static void main(String[] args) throws IOException {   
            HSSFWorkbook wb = new HSSFWorkbook();   
            HSSFSheet sheet = wb.createSheet("new sheet");   

            HSSFRow row = sheet.createRow(1);   
            HSSFCell cell = row.createCell((short)1);   
            cell.setCellValue("This is a test of merging");   
            
            //1.生成字体对象
            HSSFFont font = wb.createFont();
            font.setFontHeightInPoints((short) 10);
            font.setFontName("新宋体");
            font.setColor(HSSFColor.BLUE.index);
            font.setBoldweight((short) 0.8);
            //2.生成样式对象
            HSSFCellStyle style = wb.createCellStyle();
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
            style.setFont(font); //调用字体样式对象
            style.setWrapText(true);
                           //增加表格边框的样式 例子
                           style.setBorderTop(HSSFCellStyle.BORDER_DOUBLE);
                       style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE);
                       style.setTopBorderColor(HSSFColor.GOLD.index);
                       style.setLeftBorderColor(HSSFColor.PLUM.index);

            //3.单元格应用样式
            cell.setCellStyle(style);
            

            
            //新版用法 3.8版
//             sheet.addMergedRegion(new CellRangeAddress(   
//                     1, //first row (0-based)  from 行   
//                     2, //last row  (0-based)  to 行   
//                     1, //first column (0-based) from 列   
//                     1  //last column  (0-based)  to 列   
//             ));   
            //表示合并B2,B3
            sheet.addMergedRegion(new Region(   
                     1, //first row (0-based)     
                    (short)1, //first column  (0-based)     
                     2, //last row (0-based)  
                    (short)1  //last column  (0-based)     
             ));   
            
            //合并叠加  表示合并B3 B4。但是B3已经和B2合并了,所以,变成B2:B4合并了
            sheet.addMergedRegion(new Region(   
                     2, //first row (0-based)     
                    (short)1, //first column  (0-based)     
                     3, //last row (0-based)  
                    (short)1  //last column  (0-based)     
             ));  
            
            //一下代码表示在D4 cell 插入一段字符串
            HSSFRow row2 = sheet.createRow(3);
            HSSFCell cell2 = row2.createCell((short)3); 
            cell2.setCellValue("this is a very very very long string , please check me out.");
                      //cell2.setCellValue(new HSSFRichTextString("我是单元格!"));


             // Write the output to a file   
             FileOutputStream fileOut = new FileOutputStream("workbook.xls");   
             wb.write(fileOut);   
             fileOut.close();   
         }   
}

 

转载于:https://www.cnblogs.com/zuge/p/5908861.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值