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

前端之家收集整理的这篇文章主要介绍了c# – 使用十六进制更改Excel单元格的背景颜色Excel将在电子表格中显示完全不同的颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我设置一个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))

原文链接:https://www.f2er.com/csharp/96595.html

猜你在找的C#相关文章