java poi 合并单元格

时间:2021-08-29 19:16:34

java poi 合并单元格

2017年03月29日 16:39:01 翠烟你懊恼 阅读数:26561
 
版权声明:本文为博主原创文章,未经博主允许不得转载。 //bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL2Jsb2cuY3Nkbi5uZXQvYTkxOTQyMzY1NC9hcnRpY2xlL2RldGFpbHMvNjgwNjYyOTQ=.jpg

poi 合并 单元格

  1.  
    XSSFWorkbook wb = new XSSFWorkbook();
  2.  
     
  3.  
    XSSFSheet sheet = wb.createSheet();
  4.  
    //这个就是合并单元格
  5.  
    //参数说明:1:开始行 2:结束行 3:开始列 4:结束列
  6.  
    //比如我要合并 第二行到第四行的 第六列到第八列 sheet.addMergedRegion(new CellRangeAddress(1,3,5,7));
  7.  
    sheet.addMergedRegion(new CellRangeAddress(0,0,0,1));
  8.  
     
  9.  
    XSSFRow row = sheet.createRow(number);

需要注意的地方(不对的地方请指教)

感觉唯一要注意的地方就是:需要先设置 合并单元格,然后再 生成 行。

比如我们要生成的单元格为:

java poi 合并单元格

1工作站 左位置 1序号 2000订单号 1成品号/型号
左位置 2序号
左位置 3序号
右位置 4序号

代码可以这样写:

  1.  
    sheet.addMergedRegion(new CellRangeAddress(0,3,0,0));
  2.  
    sheet.addMergedRegion(new CellRangeAddress(0,3,3,3));
  3.  
    sheet.addMergedRegion(new CellRangeAddress(0,3,4,4));
  4.  
     
  5.  
    //第一行数据
  6.  
    XSSFRow row = sheet.createRow(0);
  7.  
    row.createCell(0).setCellValue("工作站");
  8.  
    row.createCell(1).setCellValue("位置");
  9.  
    row.createCell(2).setCellValue("序号");
  10.  
    row.createCell(3).setCellValue("订单号");
  11.  
    row.createCell(4).setCellValue("成品号/型号");
  12.  
     
  13.  
    //第二行数据
  14.  
    XSSFRow row = sheet.createRow(number);
  15.  
    //row.createCell(0).setCellValue("工作站");//因为和上面的行合并了,所以不用再次 赋值了
  16.  
    row.createCell(1).setCellValue("位置");
  17.  
    row.createCell(2).setCellValue("序号");
  18.  
    //row.createCell(3).setCellValue("订单号");//因为和上面的行合并了,所以不用再次 赋值了
  19.  
    //row.createCell(4).setCellValue("成品号/型号");//因为和上面的行合并了,所以不用再次 赋值了

第三行数据和 第二行是一样的