You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Xlnt库:如何以RGB格式存储Excel单元格颜色信息?

提取并复用xlnt单元格填充颜色

提取单元格颜色

xlnt中可以直接通过单元格的fill()方法获取填充对象,判断为纯色填充后,提取其rgb_color对象——这个对象本身就是可存储的类型,无需额外函数。代码示例:

// 假设已初始化worksheet对象ws
auto source_cell = ws.cell("A1");
xlnt::rgb_color stored_color;

// 仅处理纯色填充的情况
if (source_cell.fill().type() == xlnt::fill_type::solid)
{
    const auto& solid_fill = static_cast<const xlnt::solid_fill&>(source_cell.fill());
    stored_color = solid_fill.color().rgb();
}

复用存储的颜色填充单元格

直接用保存的rgb_color对象创建纯色填充,赋值给目标单元格即可,和你之前的写法兼容:

// 目标单元格为B1
auto target_cell = ws.cell("B1");
target_cell.fill(xlnt::fill::solid(stored_color));

持久化存储(可选)

如果需要把颜色值保存到文件、数据库等外部存储,可提取rgb_color的r/g/b分量:

// 提取颜色分量
uint8_t r = stored_color.r();
uint8_t g = stored_color.g();
uint8_t b = stored_color.b();

// 后续重新构造颜色
xlnt::rgb_color restored_color(r, g, b);

内容的提问来源于stack exchange,提问作者matnow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:09:56