加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用十六进制更改Excel单元格的背景颜色Excel将在电子表格

发布时间:2020-12-15 17:41:37 所属栏目:百科 来源:网络整理
导读:所以我设置一个Excel单元格的内部颜色为一定值,如下所示: worksheet.Cells[1,1].Interior.Color = 0xF1DCDB; 但是,当我在Excel中打开电子表格时,我看到出现的颜色是完全不同的(在上述情况下,生成的电子表格中的颜色为0xDCDCEF).我尝试了几种不同的颜色,它总
所以我设置一个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))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读