POI设置边框

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

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

上部的边框:

setBorderTop
public void setBorderTop(short border)
set the type of border to use for the top
border of the cell 

Parameters:
  border - type

下部的边框:

setBorderBottom
public void setBorderBottom(short border)
set the type of border to use for the
bottom border of the cell 

Parameters:
  border - type

左侧的边框:

setBorderLeft
public void setBorderLeft(short border)
set the type of border to use for the
left border of the cell 

Parameters:
  border - type

右侧的边框:

setBorderRight
public void setBorderRight(short border)
set the type of border to use for the
right border of the cell 

Parameters:
  border - type

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

值说明
BORDER_DASH_DOTdash-dot border
BORDER_DASH_DOT_DOTdash-dot-dot border
BORDER_DASHEDdash border
BORDER_DOTTEDdot borderhair-line border
BORDER_DOUBLEdouble-line border
BORDER_HAIRhair-line border
BORDER_MEDIUMMedium border
BORDER_MEDIUM_DASH_DOTmedium dash-dot border
BORDER_MEDIUM_DASH_DOT_DOTmedium dash-dot-dot border
BORDER_MEDIUM_DASHEDMedium dashed border
BORDER_NONENo border
BORDER_SLANTED_DASH_DOTslanted dash-dot border
BORDER_THICKThick border
BORDER_THINThin border

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

HSSFWorkbook workbook = new HSSFWorkbook();

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

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

上部的边框:

setTopBorderColor
public void setTopBorderColor(short color)
set the color to use for the top border 

Parameters:
  color -

下部的边框:

setBottomBorderColor
public void setBottomBorderColor(short color)
set the color to use for the bottom border 

Parameters:
  color -

左侧的边框:

setLeftBorderColor
public void setLeftBorderColor(short color)
set the color to use for the left border 

Parameters:
  color -

右侧的边框:

setRightBorderColor
public 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);
  }
}

运行结果如下:

边框种类改变

【面试系列】数据分析师高频面试题及详细解答 本文为数据分析师岗位提供了详尽的面试题库和解答,涵盖初级、中级和高级三个层次。初级面试题涉及基本的数据处理和统计分析知识,如SQL查询、数据清理和基础统计概念。中级面试题则重点考察数据可视化、复杂查询和数据建模等技能。高级面试题则深入探讨高级统计方法、大数据处理和高级分析工具的使用。通过这些问题和解答,候选人可以全面了解数据分析师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据分析师岗位的关键技能领域。 阅读详情

相关推荐

单目视觉定位:深入解析PNP算法在机器人导航中的实战应用

本文深入解析了PNP算法在机器人单目视觉定位中的核心原理与实战应用。通过拆解坐标变换四步,详细阐述了如何从二维图像点反求相机三维位姿。文章结合OpenCV的solvePnP函数,提供了算法选择、参数调优及结果后处理的实用指南,并针对机器人导航中的特征匹配、尺度不确定性等挑战,给出了鲁棒性优化与实时性平衡的解决方案。

weixin_29083649的博客 419

java通过poi来设置表格边框

1、通过XSSFCellStyle(因为是.xlsx版本的excel,所以用XSSFCellStyle)的【setBorderBottom】、【setBorderLeft】、【setBorderRight】、【setBorderTop】方法来设置下、左、右、上的边框样式 代码如下: private static void setClassDataToWorkBook(List data, XSS...

mengmeng2222222的博客 1万+

Cadence电路原理图全部变成黄色如何解决?

Cadence电路原理图全部变成黄色如何解决?现象:解决方法: 最近用cadence仿真锁相环,拷贝师哥的library后打开,发现schematic中全部变成了黄色,但可以正常修改元件参数,正常仿真。仅仅影响使用效果,看起来超级难受。 现象: 1.电路元件及连线全部变为黄色 2.可以正常修改参数,电路ADE仿真 如下图所示: 解决方法: 重新导入display.drf文件,步骤如下: tool——Display Resource Manager,截图如下 完成上述步骤,显示如下界面,选择Merge选项

virtuoso~晓晓 1万+

java poi 边框_java poi 设置边框

//获取工作簿HSSFWorkbook hwb = new HSSFWorkbook();//获取sheetHSSFSheet sheet = hwb.createSheet();//获取样式对象HSSFCellStyle cellStyle = hwb.createCellStyle();//设置样式对象,这里仅设置了边框属性cellStyle.setBorderBottom(HSSFCellS...

weixin_35696112的博客 7143

STP生成树/BPDU保护小实验

HCIA部分—STP生成树小实验 实验环境如图所示,要求: 1.在SW1上配置为根桥,使SW3的G0/0/1口作为根端口 2.在SW1的G0/0/3配置为边缘端口 3.若在SW1的G0/0/3口收到BPDU,能自动关闭该端口 4.通过配置bpdu保护,使端口能自动恢复up状态 首先,我们可以通过命令dis stp brief或者dis stp命令来得知SW1在生成树中的角色 确认SW1为非根交换机,此时可以通过修改stp优先级来让SW1成为根桥: 优先级数值缺省为32768,数值越小,优先级越高,数值

1mih的博客 5147

告别二极管发热!手把手教你用MOS管搭建同步整流电路(附死区时间设置避坑指南)

本文详细介绍了如何利用MOS管搭建同步整流电路(SR),以替代传统二极管,显著降低导通损耗和发热问题。内容涵盖自驱动方案的选择、关键元件参数计算、PCB布局要点及死区时间设置技巧,帮助工程师优化电源设计效率。

weixin_29540599的博客 450

POI 3.17后版本设置边框

poi 3.17 设置边框

println小强的博客 3308

手把手教你用若依WMS搭建企业级仓库管理系统(Vue+Spring Boot实战)

本文提供了一份基于若依框架(RuoYi)快速搭建企业级仓库管理系统(WMS)的实战指南。详细介绍了从环境准备、项目初始化到核心功能模块(如入库流程、库存管理看板)深度定制的全过程,并涵盖Lodop打印集成、移动端PWA适配及生产环境Docker部署等高级主题,帮助开发者高效构建稳定可用的WMS系统。

weixin_29015899的博客 562

Java POI excel单元格背景色(填充)、字体颜色(对齐)、边框(颜色)、行高、列宽设置

Excel POI设置行高、列宽;单元格背景填充色、字体样式

扶摇的博客 2万+

Xilinx PL实现DP TX视频传输的关键配置与实战解析

本文详细解析了在Xilinx ZCU106开发板上,利用PL(可编程逻辑)实现DP TX(DisplayPort发送)视频传输的关键配置与实战流程。内容涵盖从硬件平台搭建、DP TX IP核参数(如链路速率、通道数、视频时序)的详细配置,到软件驱动初始化、中断处理及链路训练的全过程,并提供了屏幕闪烁、颜色异常等常见问题的避坑指南与调试技巧,旨在帮助开发者高效实现稳定的4K视频输出。

weixin_29165465的博客 350

手把手教你学 AI芯片 SOC软件开发专栏简介

在AI芯片(如NPU、GPU加速器)爆发式增长的今天,软件栈开发已成为AI应用落地的核心瓶颈。无论是模型推理加速、低延迟部署,还是能效优化,都依赖于对芯片底层软件的深度掌握。然而,许多开发者困于“只会调用API,不懂驱动实现”的困境,导致性能瓶颈难以突破。本专栏《手把手教你学 AI芯片 SOC软件开发》专为AI工程师、嵌入式开发者及系统架构师打造,从零基础切入,系统拆解AI芯片SOC(System on Chip)的完整软件栈,覆盖Runtime(运行时)

MHD0815的博客 168

POI 边框样式BorderStyle

POI 边框样式BorderStyle 1. 单元格边框样式 单元格边框样式包含框线样式和边框颜色,可以对单元格的四边设置不同的样式 设置单元格样式: style.setBorderBottom(BorderStyle.DOUBLE); style.setBottomBorderColor(IndexedColors.BLUE.getIndex()); style.setBo...

qq_38780765的博客 9207

【WLAN】【调试】再谈如何使用Wireshark解密WiFi数据包——使用TK信息

- 本文介绍了一种wireshark使用TK信息解密空口报文的方式,该方式对是否有关联过程的报文没有要求。

一介草民,只为生活。 1187

apache poi斜边框线_POI设置边框

在做一个电子表格时,边框的设置有时是必不可少的。这一节就来介绍边框,设置时,可以指定边框的位置,边框的种类,边框的顔色。首先是边框的位置和种类。对单元格设置边框时,有上下左右位置之分,所以POI也准备了四个不同的方法。上部的边框:setBorderToppublic void setBorderTop(short border)set the type of border to use for t...

weixin_42510201的博客 964

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

poi边框设置

一、poi边框设置 在做一个电子表格时,边框的设置有时是必不可少的。这一节就来介绍边框,设置时,可以指定边框的位置,边框的种类,边框的顔色。 首先是边框的位置和种类。对单元格设置边框时,有上下左右位置之分,所以POI也准备了四个不同的方法。 上部的边框: setBorderTop public void setBorderTop(short border) set th

漂流幻境 6103

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

poi设置word表格边框

该文章是解决当word表格套表格的时候,里面表格默认为虚线的问题

u013025181的博客 595

java poi 边框_java poi导出Excel合并单元格并设置边框

importorg.apache.poi.hssf.usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFCellStyle;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apach...

weixin_33850554的博客 1826

java excel 加边框_java通过poi来设置表格边框

1、通过XSSFCellStyle(因为是.xlsx版本的excel,所以用XSSFCellStyle)的【setBorderBottom】、【setBorderLeft】、【setBorderRight】、【setBorderTop】方法来设置下、左、右、上的边框样式代码如下:private static void setClassDataToWorkBook(List data, XSSFWo...

weixin_39955925的博客 4638

java设置边框颜色_java poi 设置边框

//获取工作簿HSSFWorkbook hwb = new HSSFWorkbook();//获取sheetHSSFSheet sheet = hwb.createSheet();//获取样式对象HSSFCellStyle cellStyle = hwb.createCellStyle();//设置样式对象,这里仅设置了边框属性cellStyle.setBorderBottom(HSSFCellS...

weixin_31725659的博客 3573

poi 设置单元格边框

//设置单元格样式 CellStyle comm = workbook.createCellStyle(); comm.setAlignment(HorizontalAlignment.CENTER); //水平居中 comm.setVerticalAlignment(VerticalAlignment.CENTER); //垂直居中 comm.setBorderBottom(BorderSt...

weixin_37562241的博客 5944

java poi导出Excel合并单元格并设置边框

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; i...

weixin_30747253的博客 4173

使用poi给单元格设置边框,出现部分边框丢失的现象

这是网上看到一个博主也提出了这个问题,我也出现了这个问题: https://blog.youkuaiyun.com/weixin_40199949/article/details/100014405 问题是循环的时候创建的样式是有限的,解决的办法是先创建好样式再设置样式。 public static CellStyle getBorderStyle(Workbook workbook) { CellStyle style = workbook.createCellStyle(); ..

weixin_40140969的博客 4266

Poi 设置word文档中的表格边框

https://blog.youkuaiyun.com/qq_31189355/article/details/80438506

Tongyao 3184

poi 4 边框、对其方式设置

过时方法示例 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFCellStyle style = wb.createCellStyle(); // 样式对象 style.setVer...

luoxixixi的博客 5166

POI 设置Word表格边框、表格文字水平居中

问题描述 设置边框 表格内容水平居中 完整方法(仅参考) 不逼逼多余的废话,简单的讲讲遇到的问题,以及处理办法。 问题描述 调用createRow() 方法创建一行无样式。 调用addRow() 方法创建一行后成功添加边框,但添加的数据都挤在一行。 个人推测是因为addRow传入的行参数来自同一对象,导致数据重复添加。 网传调用addNewRowBetween() 方法创建...

不秃头的程序猿 3万+

poi word 表格设置居中、左对齐缩进、边框、字体

个人记录使用 1.表格居中与左对齐缩进二选一 2.边框设置可参考POI 设置Word表格边框、表格文字水平居中 package com.gsafety.anjian.analysis.util; /** * 设置poi-tl生成嵌套子模板中的表格垂直居中 * */ import com.deepoove.poi.NiceXWPFDocument; import com.deepoove.poi.XWPFTemplate; import org.apache...

caonimayangtuo的博客 1万+
上一篇: 少白发
下一篇: js日期验证(判断结束时间是否大于开始时间)
java_doom
博客等级 码龄20年 6粉丝 199原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值