Java使用POI對Excel進行基本操作(3)-合並單元格


1、使用poi合並單元格

    public static void main(String[] args) throws Exception {
        // 定義一個工作簿
        Workbook workbook = new XSSFWorkbook();
        // 創建一個sheet頁
        Sheet sheet = workbook.createSheet("第一個sheet頁");
        // 創建一個行
        Row row = sheet.createRow(0);
        // 創建單元格
        row.createCell(0).setCellValue("測試內容");
        row.createCell(1).setCellValue("測試內容2");
        // 合並單元格,合並后的內容取決於合並區域的左上角單元格的值
        CellRangeAddress region = new CellRangeAddress(0,3,0,3);
        sheet.addMergedRegion(region);

        FileOutputStream fileOutputStream = new FileOutputStream("D:\\用poi測試合並單元格.xlsx");
        workbook.write(fileOutputStream);
        fileOutputStream.close();
    }

 合並結果如圖:

 

 

2、為合並后的單元格添加邊框線

(注意:合並后的單元格會保留原先合並區域左上單元格的居中樣式,但是不會保留原先單元格的邊框線,所以合並單元格之后,需要重新為合並后的單元格添加邊框線)

    /**
     * 為合並后的單元格添加邊框線
     * @param cra 合並區域
     * @param sheet sheet
     */
    private static void addMergeCellBorder(CellRangeAddress cra, Sheet sheet) {
        RegionUtil.setBorderTop(BorderStyle.THIN,cra,sheet);
        RegionUtil.setBorderBottom(BorderStyle.THIN,cra,sheet);
        RegionUtil.setBorderLeft(BorderStyle.THIN,cra,sheet);
        RegionUtil.setBorderRight(BorderStyle.THIN,cra,sheet);
    }

    public static void main(String[] args) throws Exception {
        // 定義一個工作簿
        Workbook workbook = new XSSFWorkbook();
        // 創建一個sheet頁
        Sheet sheet = workbook.createSheet("第一個sheet頁");
        // 創建一個行
        Row row = sheet.createRow(0);
        // 創建單元格
        row.createCell(0).setCellValue("測試內容");
        row.createCell(1).setCellValue("測試內容2");
        // 合並單元格,合並后的內容取決於合並區域的左上角單元格的值
        CellRangeAddress region = new CellRangeAddress(0,3,0,3);
        sheet.addMergedRegion(region);
        // 為合並后的單元格添加邊框線
 addMergeCellBorder(region, sheet);

        FileOutputStream fileOutputStream = new FileOutputStream("D:\\用poi測試合並單元格2.xlsx");
        workbook.write(fileOutputStream);
        fileOutputStream.close();
    }

 

結果如圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM