zoukankan      html  css  js  c++  java
  • POI Excel导出样式设置

    //单元格格式 

    public static void copyCellStyle(CellStyle fromStyle, CellStyle toStyle) {  ​

            toStyle.setAlignment(fromStyle.getAlignment());  

            // 边框和边框颜色  

            toStyle.setBorderBottom(fromStyle.getBorderBottom());  

            toStyle.setBorderLeft(fromStyle.getBorderLeft());  

            toStyle.setBorderRight(fromStyle.getBorderRight());  

            toStyle.setBorderTop(fromStyle.getBorderTop());  

            toStyle.setTopBorderColor(fromStyle.getTopBorderColor());  

            toStyle.setBottomBorderColor(fromStyle.getBottomBorderColor());  

            toStyle.setRightBorderColor(fromStyle.getRightBorderColor());  

            toStyle.setLeftBorderColor(fromStyle.getLeftBorderColor());  

      

            // 背景和前景  

            toStyle.setFillBackgroundColor(fromStyle.getFillBackgroundColor());  

            toStyle.setFillForegroundColor(fromStyle.getFillForegroundColor());  

      

            // 数据格式  

            toStyle.setDataFormat(fromStyle.getDataFormat());  

            toStyle.setFillPattern(fromStyle.getFillPattern());  

            // toStyle.setFont(fromStyle.getFont(null));  

            toStyle.setHidden(fromStyle.getHidden());  

            toStyle.setIndention(fromStyle.getIndention());// 首行缩进  

            toStyle.setLocked(fromStyle.getLocked());  

            toStyle.setRotation(fromStyle.getRotation());// 旋转  

            toStyle.setVerticalAlignment(fromStyle.getVerticalAlignment());  

            toStyle.setWrapText(fromStyle.getWrapText());  

      

        }  

     

    // 设定合并单元格区域范围 

             *  firstRow  0-based 

             *  lastRow   0-based 

             *  firstCol  0-based 

             *  lastCol   0-based 

           // 

            CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);          

            //在sheet里增加合并单元格  

            sheet.addMergedRegion(cra);  

    HSSFSheet.DefaultColumnWidth、

    HSSFSheet.DefaultRowHeight和

    HSSFSheet.DefaultRowHeightInPoints属性。

    默认值


    HSSFSheet sheet = workbook.createSheet("sheetName");    //创建sheet  

    sheet.setVerticallyCenter(true);    

    //下面样式可作为导出左右分栏的表格模板  

    sheet.setColumnWidth((short) 0, (short) 2600);// 设置列宽  

    sheet.setColumnWidth((short) 1, (short) 2400);  

    sheet.setColumnWidth((short) 2, (short) 2300);  

    sheet.setColumnWidth((short) 3, (short) 1600);  

    sheet.setColumnWidth((short) 4, (short) 1800);  

    sheet.setColumnWidth((short) 5, (short) 1000);// 空列设置小一些  

    sheet.setColumnWidth((short) 6, (short) 2600);// 设置列宽  

    sheet.setColumnWidth((short) 7, (short) 2400);  

    sheet.setColumnWidth((short) 8, (short) 2300);  

    sheet.setColumnWidth((short) 9, (short) 1600);  

    sheet.setColumnWidth((short) 10, (short) 1800);  

      

    HSSFCellStyle cellstyle = (HSSFCellStyle) workbook.createCellStyle();// 设置表头样式  

    cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 设置居中    

    HSSFCellStyle headerStyle = (HSSFCellStyle) workbook .createCellStyle();// 创建标题样式  

    headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);    //设置垂直居中  

    headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);   //设置水平居中  

    HSSFFont headerFont = (HSSFFont) workbook.createFont(); //创建字体样式  

    headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 字体加粗  

    headerFont.setFontName("Times New Roman");  //设置字体类型  

    headerFont.setFontHeightInPoints((short) 8);    //设置字体大小  

    headerStyle.setFont(headerFont);    //为标题样式设置字体样式  

      

    HSSFCellStyle headerStyle1 = (HSSFCellStyle) workbook .createCellStyle();// 创建标题样式1  

    headerStyle1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);  

    headerStyle1.setAlignment(HSSFCellStyle.ALIGN_CENTER);  

    HSSFFont headerFont1 = (HSSFFont) workbook.createFont();  

    headerFont1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 字体加粗  

    headerFont1.setFontName("Times New Roman");  

    headerFont1.setFontHeightInPoints((short) 8);  

    headerStyle1.setFont(headerFont1);  

      

    HSSFCellStyle headerStyle2 = (HSSFCellStyle) workbook .createCellStyle();// 创建标题样式2  

    headerStyle2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);  

    headerStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER);  

    HSSFFont headerFont2 = (HSSFFont) workbook.createFont();  

    headerFont2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 字体加粗  

    headerFont2.setFontName("Times New Roman");  

    headerFont2.setFontHeightInPoints((short) 8);  

    headerStyle2.setFont(headerFont2);  

    headerStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框  

    headerStyle2.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框  

    headerStyle2.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框  

    headerStyle2.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框  

      

    HSSFCellStyle cell_Style = (HSSFCellStyle) workbook .createCellStyle();// 设置字体样式  

    cell_Style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  

    cell_Style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直对齐居中  

    cell_Style.setWrapText(true); // 设置为自动换行  

    HSSFFont cell_Font = (HSSFFont) workbook.createFont();  

    cell_Font.setFontName("宋体");  

    cell_Font.setFontHeightInPoints((short) 8);  

    cell_Style.setFont(cell_Font);  

    cell_Style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框  

    cell_Style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框  

    cell_Style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框  

    cell_Style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框  

      

    HSSFRow row = sheet.createRow((short)1);    //创建行  

    HSSFCell cell = row.createCell((short)1);   //创建列  

    cell.setCellStyle(headerStyle2);    //单元格引用样式  


  • 相关阅读:
    记录——framework探测定位程序集与core探测定位程序集
    C# 特定框架适用特定代码
    python读取excel代码
    时间比较
    ORA 01791错误
    MongoDB.1什么是MongoDB
    Mayatis 异常之result maps collection already contains value...
    怎样做好黄焖鸡
    关于foreach
    C#之out,ref关键字
  • 原文地址:https://www.cnblogs.com/luckForever/p/7254188.html
Copyright © 2011-2022 走看看