gpt4 book ai didi

c# - EPPlus Excel 更改单元格颜色

转载 作者:太空狗 更新时间:2023-10-30 01:17:37 48 4
gpt4 key购买 nike

我正在尝试将给定单元格的颜色设置为另一个单元格的颜色(已在模板中着色。但是 worksheet.Cells[row, col].Style.Fill.BackgroundColor 似乎没有 get 属性。是否可以这样做,或者我是否必须在互联网上找到颜色的确切十六进制代码?

编辑

使用答案中的代码,我得到了那个错误(它是用法语写的,但它翻译了我在第一条评论中写的内容) enter image description here

最佳答案

这样的事情怎么样?

//get color from this cell
var rgb = ws.Cells[1, 2].Style.Fill.BackgroundColor.Rgb;
//Convert to system.drawing.color
var color = System.Drawing.ColorTranslator.FromHtml("#" + rgb);
//set color in this cell
ws.Cells[1, 1].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells[1, 1].Style.Fill.BackgroundColor.SetColor(color);

更新:似乎如果您从系统颜色或调色板中选择一种颜色作为填充颜色,它就可以正常工作。如果您在填充下拉列表中选择一种“主题颜色”.Rgb 返回一个空字符串

//get style
var style = ws.Cells[400, 1].Style;

//If color from System colors or palette
if (!string.IsNullOrEmpty(style.Fill.BackgroundColor.Rgb))
{
//Convert to system.drawing.colow
var color = System.Drawing.ColorTranslator.FromHtml("#" + style.Fill.BackgroundColor.Rgb);
//set color in this cell
ws.Cells[1, 1].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells[1, 1].Style.Fill.BackgroundColor.SetColor(color);
}
else if (!string.IsNullOrEmpty(style.Fill.BackgroundColor.Theme))
{
//No idea how to get color from Theme
}

根据 EPPlus Faqs,我不确定它是否受支持... :

What is NOT supported by the library (these are the most obvious features)? [...] * Themes

关于c# - EPPlus Excel 更改单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31025464/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com