c# – 使用十六进制更改Excel单元格的背景颜色Excel将在电子表格中显示完全不同的颜色

c# – 使用十六进制更改Excel单元格的背景颜色Excel将在电子表格中显示完全不同的颜色,第1张

概述所以我设置一个Excel单元格的内部颜色为一定值,如下所示: worksheet.Cells[1, 1].Interior.Color = 0xF1DCDB; 但是,当我在Excel中打开电子表格时,我看到出现的颜色是完全不同的(在上述情况下,生成的电子表格中的颜色为0xDCDCEF).我尝试了几种不同的颜色,它总是改变它,我没有看到一个模式. 有什么理由吗?我甚至尝试通过编写Color.From 所以我设置一个Excel单元格的内部颜色为一定值,如下所示:
worksheet.Cells[1,1].Interior.color = 0xF1DCDB;

但是,当我在Excel中打开电子表格时,我看到出现的颜色是完全不同的(在上述情况下,生成的电子表格中的颜色为0xDCDCEF).我尝试了几种不同的颜色,它总是改变它,我没有看到一个模式.

有什么理由吗?我甚至尝试通过编写color.FromArgb(241,220,219).ToArgb()来设置颜色,并发生相同的事情.

解决方法 经过大量测试,我终于弄清楚了,这真的很简单.显然,Excel的Interop库有一个错误,正在颠倒红色和蓝色的值,所以我不需要传递一个十六进制的RGB,我需要通过BGR,突然之间的颜色工作正常.我很惊讶,互联网上的任何其他地方都没有记录这个错误.

所以如果任何人遇到这个问题,只需传递Excel值在BGR值. (或者如果使用color.FromArgb(),则传递color.FromArgb(B,G,R))

总结

以上是内存溢出为你收集整理的c# – 使用十六进制更改Excel单元格的背景颜色Excel将在电子表格中显示完全不同的颜色全部内容,希望文章能够帮你解决c# – 使用十六进制更改Excel单元格的背景颜色Excel将在电子表格中显示完全不同的颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1236352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存