阿帕奇 POI 和颜色

2023-12-09

我在使用 Apache POI 时遇到一些问题,如果能得到一些帮助就好了!!

我想删除 Excel 工作表子部分中的颜色。 为此,我尝试的第一件事是渲染我想要清理的单元格(假设仅第一行的单元格)并将其颜色设置为白色:

cell.getCellStyle().setFillForegroundColor(IndexedColors.WHITE.index);

但如果我这样做,一些未渲染的单元格的颜色(比如说第二行的单元格)也会更改为白色单元格。这很奇怪,因为改变的单元格没有相同的前景色,所以我认为它们会有不同的样式......

因此,我尝试了另一种方法:

CellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(IndexedColors.WHITE.index);
cell.setCellStyle(style);

其想法是避免更改 Excel 工作表中不同单元格可能通用的样式。实际上,它解决了颜色问题,但如果我这样做,我会丢失Excel工作表中的不同样式,而我只想删除一些颜色......

我正在使用通用工作簿,并且正在阅读 xlsx(xls 也有同样的问题) 你知道该怎么做吗? 多谢, 问候,


如果您想删除颜色,那么将填充图案更改为可能是有意义的NO_FILL而不是将颜色设置为白色,如下所示:

style.setFillPattern(CellStyle.NO_FILL)

回到您的主要问题,您有两种处理单元格样式修改的选项:

  • 通过修改样式CellUtil.setCellStyleProperty method

CellUtil.setCellStyleProperty(cell, workbook, CellUtil.FILL_PATTERN, CellStyle.NO_FILL)

  • 通过从现有样式克隆样式并修改属性

示例代码如下所示:

 CellStyle oldStyle = cell.getCellStyle();
 CellStyle newStyle = workbook.createCellStyle();
 newStyle.cloneStyleFrom(oldStyle);
 newStyle.setFillPattern(CellStyle.NO_FILL);
 cell.setCellStyle(newStyle);

然而,在第二种情况下,您将为每个单元格创建一个新的单元格样式,并且您可能会考虑重用一些已经更新的单元格样式并实现某种缓存(否则可能会导致性能问题并达到允许的样式)限制)。

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

阿帕奇 POI 和颜色 的相关文章

  • 查找并替换目录中所有 Excel 文件工作簿中的字符串

    我正在编写 VBA 代码来替换位于特定目录中的多个 Excel 文件 工作簿 中的特定字符串 我尝试在 Stack Overflow 上搜索 找到答案 但这与通过 Excel 中的宏替换文本文件中的字符串有关 相同的链接是查找并替换文件中的
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • 无法将 Excel 值的类型“double”转换为“string”

    我正在加载 Excel 文件 如网络上许多地方所示 OpenFileDialog chooseFile new OpenFileDialog chooseFile Filter Excel files xls xlsl xls xlsx i
  • 如何在 Azure 逻辑应用中解析 Excel 电子表格

    我需要使用 Azure 逻辑应用从 Excel 电子表格中解析和提取列信息 我已经为我的逻辑应用程序设置了从 Outlook 检索最新未读电子邮件的功能 此外 我的逻辑应用程序执行 FOR EACH 来读取所有附件 来自未读电子邮件 并确保
  • 使用 pythoncom 在 Python 进程之间编组 COM 对象

    我希望有人可以帮助我从 Python 进行编组跨进程调用到 Excel 我有一个通过 Python 启动的 Excel 会话 我知道当需要从单独的 Python 进程访问它时 该会话将会启动并运行 我已经使用编组让一切按预期工作CoMars
  • EPPlus Excel 行高不一致

    我已经使用 EPPlus 生成了一个 excel 文件 在 MS Office 2007 中一切似乎都很完美 但客户端使用的是 MS Office 2010 2013 并且在第 29 行之后未设置行高 这是一个非常奇怪的问题 我已经尝试了
  • Excels COUNTIFS 函数中的数组作为条件,混合 AND 和 OR [重复]

    这个问题在这里已经有答案了 我已经在谷歌上搜索了一段时间 但似乎无法让它发挥作用 我使用 Excel 2010 希望混合使用 AND 和 OR 运算符来计算行数 我想做的是这样的 COUNTIFS A A string1 B B strin
  • 当使用公式生成超链接时,VBA 打开 Excel 超链接不起作用

    使用公式生成的 Excel 超链接似乎存在错误 我使用的是 Excel 2010 我有一个电子表格 其中的单元格包含 URL 我的目标是执行以下两件事 将这些单元格变成超链接 创建一个键盘快捷键来打开这些超链接 这样我就不必使用鼠标了 为了
  • 将html表格保存到excel中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须编写一个程序 定期读取网页并将
  • SpreadsheetML 文件扩展名被 IE 和 FF 更改 - 内容类型错误?

    我正在 PHP 中生成 SpreadsheetML 文件 当用户下载文件并保存时 默认情况下文件会另存为 Report xml 并在 Excel 中打开 但是 如果选择在 Excel 中打开文件而不是保存文件 则文件名将更改为 Report
  • Excel工作簿关闭后反复打开

    我使用了 Application ontime 方法来调度一些宏 关闭工作簿后 它会一次又一次地打开 为了解决这个问题 我在工作簿上设置了另一个事件 BeforeClosed 现在它显示运行时错误 1004 Object Applicati
  • 所以,我有 6 个“主”文件,然后分为 40 个单独的文件

    我将简要描述我想要的内容 我有 6 个 主 文件 每个文件包含 40 个工作表 如下所示 AG 工作簿有 HR Gp 1 到 HR Gp 40 ER 工作簿有 FB Gp 1 到 Gp 40 等 所有工作表都已 平坦 我已经成功创建了一个适
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • VSTO 替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 VSTO 有哪些替代方案 ManagedXll 能做什么而 VSTO 不能 你什么时候使用其中一个而不
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • 如何通过电子邮件发送 Excel 文件?

    我有一个 excel 文件 Excel 2003 xls 格式 我想用 c 通过电子邮件发送它 我的代码成功发送它 但是当我尝试打开响应文件时 它似乎编码错误 例如 这里是响应文件名 utf 8 B RWxzesOhbW9sw6FzXzIw
  • 在 powershell 中打开 Excel 时出错

    我需要用以下命令打开 Excel 文件CorruptLoad来自 powershell 脚本的参数 但是当我尝试做到这一点时 出现错误Exception calling Open with 15 argument s open method
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之

随机推荐

  • 如何使用 MVC (CRUD) 调用 JQuery UI Modal

    我有一个汽车视图 List cshtml 显示我的汽车列表 我想添加一个按钮 链接 添加汽车 该按钮必须在 JQuery Modal UI 中打开我的视图 Create cshtml 我怎样才能做到这一点 干得好 demo http dem
  • 在程序中更改当前的mysql数据库?

    对于我们的系统 我们使用具有相同结构的多个数据库 例如 当我们有 1000 个客户时 就会有 1000 个数据库 我们选择为每个客户提供自己的数据库 这样我们就可以毫不费力地立即删除他的所有数据 现在我每年都要更新几次数据库结构 所以我开始
  • 应用程序将文件写入内部 SD 卡,但 Windows 看不到该文件

    所以 我想做的是将数据写入 SD 卡上的文件 然后让 Windows 读取该文件 我看到的问题是 Windows 永远不会看到我的新文件 直到我重新启动 xoom xoom 的操作系统版本为 3 2 我也正在构建 SDK 版本 一旦 xoo
  • 使用服务获取 GPS 位置,android?

    这是我第一次使用服务 从活动来看它确实看起来很复杂 因此 我试图在用户关闭我的服务应用程序后获取用户的位置 这是我的服务等级 public class LocTrack extends Service GPSTracker gp Overr
  • 将 VB6 自定义类型(具有固定长度字符串)转换为 VB .NET

    我已经使用 UpgradeWizard 将一些 VB6 代码 在自定义类型中使用固定长度字符串 升级到 VB NET 但在使用 LSet 方法时遇到了问题 我希望有人可以帮助我解决这个问题 现有的 VB6 代码 类型声明 Public Ty
  • 使用python接收icecast元数据

    我尝试使用以下脚本获取 mp3 流的冰铸元数据 import requests url http stream jam fm jamfm nmr mp3 128 konsole try response requests get url h
  • 区分机器人和人类访客以获得统计数据?

    我正在寻找自己的简单网络统计脚本 据我所知 路上唯一的主要障碍是区分人类访客和机器人 我想要一个不需要定期维护的解决方案 即我不想使用与机器人相关的用户代理更新文本文件 是否有任何开放服务可以做到这一点 就像 Akismet 处理垃圾邮件一
  • C# SMO - 将表数据编写到文件中。投掷错误

    在重新创建表之前 我尝试创建数据库中包含的数据的备份 我已经连接到服务器并创建文件来存储 SQL 问题是它在最后一行抛出错误 你调用的对象是空的 我一整天都在这个项目上 所以可能会错过一些新的眼睛会有所帮助的东西 这是代码 public v
  • 在父元素和子元素之间绑定一个值,其中子元素是使用 javascript 创建的

    使用 Polymer 有人知道如何在父元素和子元素之间绑定值吗 以下是我的尝试 但它不起作用 Note child component需要使用 JavaScript 创建
  • 获取窗口截图 Windows API

    我正在尝试制作一个在现有 GUI 之上工作的程序来对其进行注释并提供额外的计算和统计信息 我想使用图像识别来做到这一点 因为我在大学里使用 Matlab 和类似的东西学到了很多这方面的知识 我可以获得要执行图像识别的窗口的句柄 但我不知道如
  • 为什么两个不同的数组文字在 Swift 中彼此相等?

    为什么表达 import Foundation a b c c b a 评估为true在 Swift 游乐场 当未导入 Foundation 时 该表达式的计算结果为 false 乔什的答案很接近 但并不完全正确 按住 Option 键并单
  • SQL Server 表可以有两个标识列吗?

    我需要将一列作为主键 另一列作为自动递增订单号字段 这可能吗 编辑 我想我只会使用复合数作为订单号 不管怎么说 多谢拉 CREATE TABLE dbo Foo FooId int IDENTITY 1 1 NOT NULL BarId i
  • 带参数的图像 - HTML

    我不知道如何提出这个问题 我不知道下面的标签是如何工作的 img src img png value 23 这个标签工作正常 并且它正确地渲染了图像 是否value 23有效果吗 或者它被浏览器忽略了 我什至不知道如何谷歌这个 就像向图像传
  • 为什么 System.Windows.Controls.Button 的内边距始终为 10px?

    请参阅屏幕截图 青色边框框是按钮 蓝色填充是矩形 我一生都无法弄清楚如何摆脱按钮中的填充 有没有办法将矩形放置在左上角 使其接触青色边框 Thanks 您是否尝试过设置Rectangle的边际为0
  • 初始加载屏幕上的角度冻结 SVG 动画

    我想在浏览器加载 Angular 5 的脚本和其他资源时播放动画 例如这个 SVG 动画
  • 您必须在实例化此 ParseObject 子类之前注册它

    我在我的中收到以下错误Android应用程序使用Parse You must register this ParseObject subclass before instantiating it In my Application对象 我正
  • Neo4j 在浏览器图形视图中仅显示特定关系

    我有这个密码查询 MATCH i Issue name SN 229 d ON DATE gt s Stage RETURN i MAX d long MIN d long 1 AS Days s and I get these resul
  • 未显示 Toast 消息

    我试图使用以下代码在我的应用程序中显示一条 toast 消息 AlertDialog Builder alert new AlertDialog Builder this alert setTitle Do you want to cont
  • Java类实例递归调用

    我有一个非常基本的java理论问题 为什么 Employee 类在下面的示例中递归地调用其自身 class Employee Employee emp new Employee public class Manager extends Em
  • 阿帕奇 POI 和颜色

    我在使用 Apache POI 时遇到一些问题 如果能得到一些帮助就好了 我想删除 Excel 工作表子部分中的颜色 为此 我尝试的第一件事是渲染我想要清理的单元格 假设仅第一行的单元格 并将其颜色设置为白色 cell getCellSty