zoukankan      html  css  js  c++  java
  • 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();
        }

    结果如图:

  • 相关阅读:
    C#来完成二叉树的搜索、遍历、及查找
    给大家推荐个学英语的网站
    我一直在心酸——有感于512大地震
    LINQ基础(一)
    再谈奶牛问题
    【转】程序员的十层楼,你属于哪一层?
    c#实现根据有规律的文件内容解析成实体类
    c#多线程操作界面控件的简单实现
    不要迷恋哥,哥不只是传说(再【转】世界上最牛的程序员)
    c#简单实现提取网页内容
  • 原文地址:https://www.cnblogs.com/lkc9/p/12256273.html
Copyright © 2011-2022 走看看