微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/csharp/96595.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐