1. 程式人生 > >java poi 合併單元格

java poi 合併單元格

java poi 合併單元格

2017年03月29日 16:39:01  閱讀數:26561  

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);

 

需要注意的地方(不對的地方請指教)

感覺唯一要注意的地方就是:需要先設定 合併單元格,然後再 生成 行。

 

比如我們要生成的單元格為:

 

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("成品號/型號");//因為和上面的行合併了,所以不用再次 賦值了


 

 

 

 

第三行資料和 第二行是一樣的