zoukankan      html  css  js  c++  java
  • java POI Excel 单元格样式

    正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据。下面还是从简单的例子出发,学习和了解POI的样式设计。

      一、我的位置。

    1 package com.myjava.poi;
     2 
     3 import java.io.FileOutputStream;
     4 import java.util.Date;
     5 
     6 import org.apache.poi.hssf.usermodel.HSSFCell;
     7 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
     8 import org.apache.poi.hssf.usermodel.HSSFRichTextString;
     9 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    10 import org.apache.poi.ss.usermodel.Cell;
    11 import org.apache.poi.ss.usermodel.CellStyle;
    12 import org.apache.poi.ss.usermodel.Row;
    13 import org.apache.poi.ss.usermodel.Sheet;
    14 import org.apache.poi.ss.usermodel.Workbook;
    15 
    16 public class ExcelStyle {
    17 
    18     public static void main(String[] args) throws Exception{
    19         Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
    20         Sheet sheet=wb.createSheet("第一个Sheet页");  // 创建第一个Sheet页
    21         Row row=sheet.createRow(2); // 创建一个行
    22         row.setHeightInPoints(30);
    23         
    24         createCell(wb, row, (short)0, HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_BOTTOM);
    25         createCell(wb, row, (short)1, HSSFCellStyle.ALIGN_FILL, HSSFCellStyle.VERTICAL_CENTER);
    26         createCell(wb, row, (short)2, HSSFCellStyle.ALIGN_LEFT, HSSFCellStyle.VERTICAL_TOP);
    27         createCell(wb, row, (short)3, HSSFCellStyle.ALIGN_RIGHT, HSSFCellStyle.VERTICAL_TOP);
    28         
    29         FileOutputStream fileOut=new FileOutputStream("D:\工作簿.xls");
    30         wb.write(fileOut);
    31         fileOut.close();
    32     }
    33     
    34     /**
    35      * 创建一个单元格并为其设定指定的对齐方式
    36      * @param wb 工作簿
    37      * @param row 行
    38      * @param column  列
    39      * @param halign  水平方向对其方式
    40      * @param valign  垂直方向对其方式
    41      */
    42     private static void createCell(Workbook wb,Row row,short column,short halign,short valign){
    43         Cell cell=row.createCell(column);  // 创建单元格
    44         cell.setCellValue(new HSSFRichTextString("我在这"));  // 设置值
    45         CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式
    46         cellStyle.setAlignment(halign);  // 设置单元格水平方向对其方式
    47         cellStyle.setVerticalAlignment(valign); // 设置单元格垂直方向对其方式
    48         cell.setCellStyle(cellStyle); // 设置单元格样式
        
    }
    }

      效果显示:

      

      二、我的边框

     

     1 package com.myjava.poi;
     2  
     3  import java.io.FileOutputStream;
     4  import java.util.Calendar;
     5  import java.util.Date;
     6  
     7  import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     8  import org.apache.poi.ss.usermodel.Cell;
     9  import org.apache.poi.ss.usermodel.CellStyle;
    10  import org.apache.poi.ss.usermodel.CreationHelper;
    11  import org.apache.poi.ss.usermodel.IndexedColors;
    12  import org.apache.poi.ss.usermodel.Row;
    13  import org.apache.poi.ss.usermodel.Sheet;
    14  import org.apache.poi.ss.usermodel.Workbook;
    15  
    16 public class Border {
    17  
    18     public static void main(String[] args) throws Exception{
    19          Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
    20         Sheet sheet=wb.createSheet("第一个Sheet页");  // 创建第一个Sheet页
    21          Row row=sheet.createRow(1); // 创建一个行
    22          
    23          Cell cell=row.createCell(1); // 创建一个单元格
    24          cell.setCellValue(4);
    25          
    26          CellStyle cellStyle=wb.createCellStyle(); 
    27          cellStyle.setBorderBottom(CellStyle.BORDER_THIN); // 底部边框
    28          cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); // 底部边框颜色         
    29         cellStyle.setBorderLeft(CellStyle.BORDER_THIN);  // 左边边框
    30          cellStyle.setLeftBorderColor(IndexedColors.RED.getIndex()); // 左边边框颜色
    31         
    32          cellStyle.setBorderRight(CellStyle.BORDER_THIN); // 右边边框
    33          cellStyle.setRightBorderColor(IndexedColors.BLUE.getIndex());  // 右边边框颜色         
    34          cellStyle.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED); // 上边边框
    35          cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());  // 上边边框颜色
    36          
    37         cell.setCellStyle(cellStyle);
    38          FileOutputStream fileOut=new FileOutputStream("D:\Border.xls");
    39          wb.write(fileOut);
    40          fileOut.close();
    41      }
    42 }

      效果显示:

      

      三、我的背景

      

    package com.myjava.poi;
     2 
     3 import java.io.FileOutputStream;
     4 import java.util.Calendar;
     5 import java.util.Date;
     6 
     7 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     8 import org.apache.poi.ss.usermodel.Cell;
     9 import org.apache.poi.ss.usermodel.CellStyle;
    10 import org.apache.poi.ss.usermodel.CreationHelper;
    11 import org.apache.poi.ss.usermodel.IndexedColors;
    12 import org.apache.poi.ss.usermodel.Row;
    13 import org.apache.poi.ss.usermodel.Sheet;
    14 import org.apache.poi.ss.usermodel.Workbook;
    15 
    16 public class Bg {
    17 
    18     public static void main(String[] args) throws Exception{
    19         Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
    20         Sheet sheet=wb.createSheet("第一个Sheet页");  // 创建第一个Sheet页
    21         Row row=sheet.createRow(1); // 创建一个行
    22         
    23         Cell cell=row.createCell(1);
    24         cell.setCellValue("看不清我");
    25         CellStyle cellStyle=wb.createCellStyle();
    26         cellStyle.setFillBackgroundColor(IndexedColors.AQUA.getIndex()); // 背景色
    27         cellStyle.setFillPattern(CellStyle.BIG_SPOTS);  
    28         cell.setCellStyle(cellStyle);
    29         
    30         
    31         Cell cell2=row.createCell(2);
    32         cell2.setCellValue("我的前景色与众不同");
    33         CellStyle cellStyle2=wb.createCellStyle();
    34         cellStyle2.setFillForegroundColor(IndexedColors.RED.getIndex()); // 前景色
    35         cellStyle2.setFillPattern(CellStyle.SOLID_FOREGROUND);  
    36         cell2.setCellStyle(cellStyle2);
    37         
    38         FileOutputStream fileOut=new FileOutputStream("D:\bg.xls");
    39         wb.write(fileOut);
    40         fileOut.close();
    41     }
    42 }

      效果显示:

      

      四、合并单元格

      

    package com.myjava.poi;
     2 
     3 import java.io.FileOutputStream;
     4 import java.util.Calendar;
     5 import java.util.Date;
     6 
     7 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
     8 import org.apache.poi.ss.usermodel.Cell;
     9 import org.apache.poi.ss.usermodel.CellStyle;
    10 import org.apache.poi.ss.usermodel.CreationHelper;
    11 import org.apache.poi.ss.usermodel.IndexedColors;
    12 import org.apache.poi.ss.usermodel.Row;
    13 import org.apache.poi.ss.usermodel.Sheet;
    14 import org.apache.poi.ss.usermodel.Workbook;
    15 import org.apache.poi.ss.util.CellRangeAddress;
    16 
    17 public class GetTogether {
    18 
    19     public static void main(String[] args) throws Exception{
    20         Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
    21         Sheet sheet=wb.createSheet("第一个Sheet页");  // 创建第一个Sheet页
    22         Row row=sheet.createRow(1); // 创建一个行
    23         
    24         Cell cell=row.createCell(1);
    25         cell.setCellValue("我们被合并单元格啦!");
    26         
    27         sheet.addMergedRegion(new CellRangeAddress(
    28                 1, // 起始行
    29                 2, // 结束行
    30                 1, // 其实列
    31                 2  // 结束列
    32         ));
    33         
    34         
    35         FileOutputStream fileOut=new FileOutputStream("D:\Together.xls");
    36         wb.write(fileOut);
    37         fileOut.close();
    38     }
    39 }

      效果显示:

      

  • 相关阅读:
    WPF样式统一之DevExpress设置窗体,控件为Office风格
    vs报错 "多步操作产生错误。请检查每一步的状态值"
    WPF属性之理解附加属性
    WPF国际化方式1之资源文件
    EntityFramework经典数据访问层基类——增删改查
    一个sh脚本 同时运行 多个sh脚本
    安装OpenIMSCore的SIP测试客户端 utcimsclient
    No module named 'paddle.fluid'
    “/usr/local/lib/libosipparser2.so.7: could not read symbols: Invalid operation” 异常解决
    把ubuntu自带的高gcc版本降到低版本(如gcc 3.4)的方法
  • 原文地址:https://www.cnblogs.com/yanjie-java/p/8329276.html
Copyright © 2011-2022 走看看