zoukankan      html  css  js  c++  java
  • 【遇到的问题】 POI实现EXCEL单元格合并及边框样式

    package test;
     
    import java.io.FileOutputStream;
    import java.io.IOException;
     
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.BorderStyle;
    import org.apache.poi.ss.usermodel.Font;
    import org.apache.poi.ss.usermodel.HorizontalAlignment;
    import org.apache.poi.ss.util.CellRangeAddress;
    import org.apache.poi.ss.util.RegionUtil;
     
    public class ExcelPoiTest {
     
        public static void main(String[] args) {
            
            HSSFWorkbook workbook = new HSSFWorkbook();  // 创建一个excel
            // excel生成过程: excel-->sheet-->row-->cell
            HSSFSheet sheet = workbook.createSheet("test"); // 为excel创建一个名为test的sheet页        
            HSSFRow row = sheet.createRow(1); // 创建一行,参数2表示第一行
            HSSFCell cellB2 = row.createCell(1); // 在B2位置创建一个单元格
            HSSFCell cellB3 = row.createCell(2); // 在B3位置创建一个单元格
            cellB2.setCellValue("单元格B2"); // B2单元格填充内容
            cellB3.setCellValue("单元格B3"); // B3单元格填充内容
            
            HSSFCellStyle cellStyle = workbook.createCellStyle(); // 单元格样式
            Font fontStyle = workbook.createFont(); // 字体样式
            fontStyle.setBold(true); // 加粗
            fontStyle.setFontName("黑体"); // 字体
            fontStyle.setFontHeightInPoints((short) 11); // 大小
            // 将字体样式添加到单元格样式中 
            cellStyle.setFont(fontStyle);
            // 边框,居中
            cellStyle.setAlignment(HorizontalAlignment.CENTER);
            cellStyle.setBorderBottom(BorderStyle.THIN);
            cellStyle.setBorderLeft(BorderStyle.THIN);
            cellStyle.setBorderRight(BorderStyle.THIN);
            cellStyle.setBorderTop(BorderStyle.THIN);
            cellB2.setCellStyle(cellStyle); // 为B2单元格添加样式
            
            // 合并单元格
            CellRangeAddress cra =new CellRangeAddress(1, 3, 1, 3); // 起始行, 终止行, 起始列, 终止列
            sheet.addMergedRegion(cra);
            
            // 使用RegionUtil类为合并后的单元格添加边框
            RegionUtil.setBorderBottom(1, cra, sheet); // 下边框
            RegionUtil.setBorderLeft(1, cra, sheet); // 左边框
            RegionUtil.setBorderRight(1, cra, sheet); // 有边框
            RegionUtil.setBorderTop(1, cra, sheet); // 上边框
            
            // 输出到本地
            String excelName = "/myExcel.xls";
            FileOutputStream out = null;
            try {
                out = new FileOutputStream(excelName);
                workbook.write(out);
                out.flush();
                out.close();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (out != null)
                    try {
                        out.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                out = null;
            }
        }
     
    }
  • 相关阅读:
    LaTex 2
    Haskell语言练习
    TypeScript语言学习笔记(2)接口,类
    正则表达式(TypeScript, JavaScript)
    Angular2学习笔记
    Haskell语言学习笔记(71)Semigroup
    正则表达式(Kotlin)
    TypeScript语言学习笔记(1)基本类型,变量声明
    Kotlin语言编程技巧集
    多线程(Java)
  • 原文地址:https://www.cnblogs.com/dk1024/p/13213941.html
Copyright © 2011-2022 走看看