博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poi边框设置
阅读量:4261 次
发布时间:2019-05-26

本文共 6556 字,大约阅读时间需要 21 分钟。

一、poi边框设置

在做一个电子表格时,边框的设置有时是必不可少的。这一节就来介绍边框,设置时,可以指定边框的位置,边框的种类,边框的顔色。

首先是边框的位置和种类。对单元格设置边框时,有上下左右位置之分,所以POI也准备了四个不同的方法。

上部的边框:

setBorderToppublic void setBorderTop(short border)
set the type of border to use for the topborder of the cell Parameters:  border - type

下部的边框:

setBorderBottompublic void setBorderBottom(short border)
set the type of border to use for thebottom border of the cell Parameters:  border - type

左侧的边框:

setBorderLeftpublic void setBorderLeft(short border)
set the type of border to use for theleft border of the cell Parameters:  border - type

右侧的边框:

setBorderRightpublic void setBorderRight(short border)
set the type of border to use for theright border of the cell Parameters:  border - type

参数通过表示边框种类的short型值来指定。下面是定义在「HSSFCellStyle」类里可以被指定值的一览表。

说明
BORDER_DASH_DOT dash-dot border
BORDER_DASH_DOT_DOT dash-dot-dot border
BORDER_DASHED dash border
BORDER_DOTTED dot borderhair-line border
BORDER_DOUBLE double-line border
BORDER_HAIR hair-line border
BORDER_MEDIUM Medium border
BORDER_MEDIUM_DASH_DOT medium dash-dot border
BORDER_MEDIUM_DASH_DOT_DOT medium dash-dot-dot border
BORDER_MEDIUM_DASHED Medium dashed border
BORDER_NONE No border
BORDER_SLANTED_DASH_DOT slanted dash-dot border
BORDER_THICK Thick border
BORDER_THIN Thin border

比如要在单元格下边框设置两重线的边框时,按如下方法:

HSSFWorkbook workbook = new HSSFWorkbook();HSSFCellStyle style = workbook.createCellStyle();style.setBorderRight(HSSFCellStyle.BORDER_THIN);

下面再看看指定边框顔色。同样也分为上下左右边框来操作。

上部的边框:

setTopBorderColorpublic void setTopBorderColor(short color)
set the color to use for the top border Parameters:  color -

下部的边框:

setBottomBorderColorpublic void setBottomBorderColor(short color)
set the color to use for the bottom border Parameters:  color -

左侧的边框:

setLeftBorderColorpublic void setLeftBorderColor(short color)
set the color to use for the left border Parameters:  color -

右侧的边框:

setRightBorderColorpublic void setRightBorderColor(short color)
set the color to use for the right border Parameters:  color -

仍然是通过参数来指定顔色,而且使用方法和前面一节也是一样。具体如下:

HSSFWorkbook workbook = new HSSFWorkbook();HSSFCellStyle style = workbook.createCellStyle();style.setRightBorderColor(HSSFColor.RED.index);style.setBorderRight(HSSFCellStyle.BORDER_THIN);

示例程序

实际动手做做吧。首先看看如何设置上下左右的边框。

import java.io.*;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.util.HSSFColor;import org.apache.poi.hssf.usermodel.HSSFPalette;public class POISample{  public static void main(String[] args){    HSSFWorkbook workbook = new HSSFWorkbook();    HSSFSheet sheet = workbook.createSheet();    HSSFRow row = sheet.createRow(1);    HSSFCell cell1 = row.createCell((short)1);    HSSFCell cell2 = row.createCell((short)2);    HSSFCellStyle style1 = workbook.createCellStyle();    style1.setBorderTop(HSSFCellStyle.BORDER_DOUBLE);    style1.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE);    style1.setTopBorderColor(HSSFColor.GOLD.index);    style1.setLeftBorderColor(HSSFColor.PLUM.index);    cell1.setCellStyle(style1);    HSSFCellStyle style2 = workbook.createCellStyle();    style2.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);    style2.setBorderRight(HSSFCellStyle.BORDER_DOUBLE);    style2.setBottomBorderColor(HSSFColor.ORANGE.index);    style2.setRightBorderColor(HSSFColor.SKY_BLUE.index);    cell2.setCellStyle(style2);    cell1.setCellValue("U & L");    cell2.setCellValue("B & R");    FileOutputStream out = null;    try{      out = new FileOutputStream("sample.xls");      workbook.write(out);    }catch(IOException e){      System.out.println(e.toString());    }finally{      try {        out.close();      }catch(IOException e){        System.out.println(e.toString());      }    }  }}

上面程序既改了顔色,也设置了上和左的边框各一个,右和下的边框各一个。

下面再对边框种类进行各种各样的顔色改变来看看效果。

import java.io.*;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.util.HSSFColor;public class POISample{  static HSSFWorkbook workbook;  public static void main(String[] args){    workbook = new HSSFWorkbook();    HSSFSheet sheet = workbook.createSheet();    HSSFRow row[] = new HSSFRow[5];    for (int i = 0; i < 5 ; i++){      row[i] = sheet.createRow(i);    }    HSSFCell cell[][] = new HSSFCell[5][3];    for (int i = 0; i < 5; i++){      for (int j = 0; j < 3 ; j++){        cell[i][j] = row[i].createCell((short)j);      }    }    setStyle(cell[0][0], "DASH_DOT",                          HSSFCellStyle.BORDER_DASH_DOT);    setStyle(cell[0][1], "DASH_DOT_DOT",                          HSSFCellStyle.BORDER_DASH_DOT_DOT);    setStyle(cell[0][2], "DASHED",                          HSSFCellStyle.BORDER_DASHED);    setStyle(cell[1][0], "DOTTED",                          HSSFCellStyle.BORDER_DOTTED);    setStyle(cell[1][1], "DOUBLE",                          HSSFCellStyle.BORDER_DOUBLE);    setStyle(cell[1][2], "HAIR",                          HSSFCellStyle.BORDER_HAIR);    setStyle(cell[2][0], "MEDIUM",                          HSSFCellStyle.BORDER_MEDIUM);    setStyle(cell[2][1], "MEDIUM_DASH_DOT",                          HSSFCellStyle.BORDER_MEDIUM_DASH_DOT);    setStyle(cell[2][2], "MEDIUM_DASH_DOT_DOT",                          HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT);    setStyle(cell[3][0], "MEDIUM_DASHED",                          HSSFCellStyle.BORDER_MEDIUM_DASHED);    setStyle(cell[3][1], "NONE",                          HSSFCellStyle.BORDER_NONE);    setStyle(cell[3][2], "SLANTED_DASH_DOT",                          HSSFCellStyle.BORDER_SLANTED_DASH_DOT);    setStyle(cell[4][0], "THICK", HSSFCellStyle.BORDER_THICK);    setStyle(cell[4][1], "THIN", HSSFCellStyle.BORDER_THIN);    FileOutputStream out = null;    try{      out = new FileOutputStream("sample.xls");      workbook.write(out);    }catch(IOException e){      System.out.println(e.toString());    }finally{      try {        out.close();      }catch(IOException e){        System.out.println(e.toString());      }    }  }  public static void setStyle(HSSFCell cell,                          String bn, short border){    HSSFCellStyle style = workbook.createCellStyle();    style.setBorderBottom(border);    style.setBottomBorderColor(HSSFColor.ORANGE.index);    cell.setCellStyle(style);    cell.setCellValue(bn);  }}

运行结果如下:

你可能感兴趣的文章
android 基本布局
查看>>
android 操作系统
查看>>
button事件的两种处理方法
查看>>
android 震动
查看>>
【数据结构与算法】(四) c 语言静态队列的简单实现
查看>>
[linux] unix domain socket 例子
查看>>
[linux] c 实现简单的web服务器
查看>>
栈--判断回文字符串
查看>>
Dijkstra算法--一个点到其余点最短路径
查看>>
解决 The `master` repo requires CocoaPods 1.0.0 - (currently using 0.39.0)
查看>>
gdb调试常用命令
查看>>
vim正则表达式批量修改文本
查看>>
objective-c init方法的写法
查看>>
极客公园 Mac 第三方客户端(swift)
查看>>
【Lintcode】寻找峰值
查看>>
Arduino 串口读写 SD 卡模块
查看>>
图的基本算法--深度优先搜索(dfs) 和 广度优先搜索(bfs)
查看>>
[Linux] Linux内核编译安装过程,及Linux源码目录结构
查看>>
[Linux] c语言变量的存储位置-笔记
查看>>
[Linux] 头文件实质-笔记
查看>>