NPOI 单元格设置边框

2023-11-17

很多表格中都要使用边框,本节将为你重点讲解NPOI中边框的设置和使用。

边框和其他单元格设置一样也是调用ICellStyle接口,ICellStyle有2种和边框相关的属性,分别是:

边框相关属性 说明 范例
Border+方向 边框类型 BorderTop, BorderBottom,BorderLeft, BorderRight
方向+BorderColor 边框颜色 TopBorderColor,BottomBorderColor, LeftBorderColor, RightBorderColor

其中边框类型分为以下几种:

边框范例图 对应的静态值
image CellBorderType.DOTTED
image CellBorderType.HAIR
image CellBorderType.DASH_DOT_DOT
image CellBorderType.DASH_DOT
image CellBorderType.DASHED
image CellBorderType.THIN
image CellBorderType.MEDIUM_DASH_DOT_DOT
image CellBorderType.SLANTED_DASH_DOT
image CellBorderType.MEDIUM_DASH_DOT
image CellBorderType.MEDIUM_DASHED
image CellBorderType.MEDIUM
image CellBorderType.THICK
image CellBorderType.DOUBLE

至于颜色那就很多了,全部在HSSFColor下面,如HSSFColor.GREEN, HSSFColor.RED,都是静态实例,可以直接引用。

下面我们假设我们要把一个单元格的四周边框都设置上,可以用下面的代码:

复制代码

ISheet sheet = hssfworkbook.CreateSheet("new sheet");
 
// Create a row and put some cells in it. Rows are 0 based.
IRow row = sheet.CreateRow(1);
// Create a cell and put a value in it.
ICell cell = row.CreateCell(1);
// Style the cell with borders all around.
ICellStyle style = hssfworkbook.CreateCellStyle();
style.BorderBottom= CellBorderType.THIN;
style.BorderLeft= CellBorderType.THIN;
style.BorderRight= CellBorderType.THIN;
style.BorderTop = CellBorderType.THIN;
cell.CellStyle= style;

复制代码


 

这段代码使用了最普通的细边框,使得这个单元格看上去像块空心砖头。

image

注意:这里我们没有设置边框的颜色,但这不会影响最终的效果,因为Excel会用默认的黑色给边框上色。

如果要设置颜色的话,也很简单,如下:

 

style.BottomBorderColor= HSSFColor.GREEN.index;

以上代码将底部边框设置为绿色,要注意,不是直接把HSSFColor.GREEN赋给XXXXBorderColor属性,而是把index的值赋给它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NPOI 单元格设置边框 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • spring boot 过滤器实现接收 压缩数据 并解压

    1 新加类GzipRequestWrapper 继承HttpServletRequestWrapper类 public class GzipRequestWrapper extends HttpServletRequestWrapper p
  • 基于Python实现 传感器的随机布置 传感网覆盖仿真

    代码演示 import tkinter as tk import random import win32gui import cv2 import time import math from PIL import Image ImageGr
  • 黑客游戏Hacknet下载(游戏分享一)

    OK Shall we begin Hacknet中文版下载 百度网盘 添加链接描述 夸克网盘 添加链接描述 注 解压后直接点击Hacknet exe进行游戏 英文版下载 百度网盘 添加链接描述 夸克网盘 添加链接描述 难关过不了自行上b站
  • AndroidStudio链接手机的步骤

    1 设置手机为开发者模式 设置 gt 关于手机 gt 连续点击MIUI版本 开启成功 2 在更多设置中选择开发者选项 在开发者选项中同时勾选USB调试和USB安装的开关 3 数据线与电脑连接 4 打开AndroidStudio 等待程序加载
  • centos7关闭防火墙

    出现物理机ping不通虚拟机 但虚拟机可以ping通物理机 排查的方向 一个是虚拟机的防火墙问题 1 查看防火墙的状态 systemctl status firewalld 2 关闭防火墙 如果还是不通 第二个排查方向是虚拟机的链接模式 桥
  • Springboot集成activiti的配置文件ActivitiConfig

    Configuration public class ActivitiConfig Bean public ProcessEngineConfiguration processEngineConfiguration DataSource d
  • Stable Diffusion教程

    什么是Stable Diffusion Stable Diffusion是一种潜在扩散模型 Latent Diffusion Model 能够从文本描述中生成详细的图像 它还可以用于图像修复 图像绘制 文本到图像和图像到图像等任务 简单地说
  • radius认证服务

    radius认证服务 RADIUS是一种分布的 客户端 服务器系统 实现安全网络 反对未经验证的访问 在cisco实施中 RADIUS客户端运行在cisco路由器上上 发送认证请求到中心RADIUS服务器 服务器上包含了所有用户认证和网络服
  • cuda测试集编译linux,linux下使cmake编译cuda(附列子,亲测可用)

    在网上百度 并没有找到什么合适的教程 让我等小白着急不已 借助于GOOGLE的强大能力 发现原来cmake已经支持了cuda 于是乎 赶紧 http www cmake org 下载了最新的cmake 调用了里面的一个FindCUDA cm
  • ApiPost 开源接口调试工具使用大全

    ApiPost使用 简介 接口调试 API请求参数 Header 参数 Query 参数 Body 参数 API 请求响应 返回Headers 响应结果分屏展示 生成调试代码 参数 全局参数 目录参数 参数的优先级 变量 环境变量 环境变量
  • 运行 AppImage软件:Running AppImages (***)

    How to run an AppImage Running AppImages 使用 AppImage appImagetool 进行 Linux 软件包管理 带笔记 要点 1 需要运行权限 通常 linux软件的运行 都需要运行权限 B
  • 基于OpenCASCADE自制三维建模软件(一)介绍

    一 制作背景 目前工作的项目中 需要三维建模作为其中一个模块 而本人刚接触三维建模 因而借助制作一个简单的三维建模软件学习相关的知识 并在此作笔记 在调研过程中 我了解到开源的Open CASCADE软件平台 Open CASCADE简称O
  • ChatGPT 类 AI 软件供应链的安全及合规风险

    AIGC将成为重要的软件供应链 近日 OpenAI推出的ChatGPT通过强大的AIGC 人工智能生产内容 能力让不少人认为AI的颠覆性拐点即将到来 基于AI将带来全新的软件产品体验 而AI也将会成为未来软件供应链中非常重要的一环 在Ope
  • colab 导出csv文件

    生成之后download即可 from google colab import files files download train csv
  • 使用nodejs接入封装第三方短信验证码工具类

    简介 使用nodejs接入封装第三方短信验证码工具类 第三方短信运营商接入 安装axiosyarn add axios 1 1 3 配置 在项目的config文件夹新建一个文件 命名为接入短信验证码平台的名字 例如aliyunMessage
  • js实现5秒后跳转页面

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 使用js代码实现延时跳转 二 使用步骤 1 定时器 setInterval 2 location跳转 3 整体实现 总结 提示 以下是本篇文章正文内容 下面案例
  • 数据结构之 栈(C语言实现)

    数据结构之 栈 C语言实现 1 栈的模型 栈 stack 是限制插入和删除只能在一个位置上进行的表 该位置是表的末端 叫做栈的顶 top 对栈的基本操作有push 进栈 和pop 出栈 前者相当于插入 后者则是删除最后插入的元素 最后插入的
  • Shell脚本攻略:Linux防火墙(一)

    目录 一 理论 1 安全技术 2 防火墙 3 通信五元素和四元素 4 总结 二 实验 1 iptables基本操作 2 扩展匹配 3 自定义链接 一 理论 1 安全技术 1 安全技术 入侵检测系统 Intrusion Detection S
  • 一分钟秒懂公有云、私有云、混合云......

    近几年随着云计算技术的逐渐普及 越来越多的企业开始选择了部署云计算方案 当运营赖于数据结构和网络管理业务时 云计算的灵活性 易用性 定制性给企业带来的优势是毋庸置疑的 但是公有云 私有云 混合云等等到底都是什么呢 公有云 私有云 混合云 这
  • NPOI 单元格设置边框

    很多表格中都要使用边框 本节将为你重点讲解NPOI中边框的设置和使用 边框和其他单元格设置一样也是调用ICellStyle接口 ICellStyle有2种和边框相关的属性 分别是 边框相关属性 说明 范例 Border 方向 边框类型 Bo