因此,我将 Excel 单元格的内部颜色设置为某个值,如下所示:
worksheet.Cells[1, 1].Interior.Color = 0xF1DCDB;
然而,当我在 Excel 中打开电子表格时,我发现显示的颜色完全不同(在上述情况下,生成的电子表格中的颜色是 0xDCDCEF)。我尝试了几种不同的颜色,但它总是会改变,而且我看不到任何图案。
这有什么原因吗?我什至尝试通过编写 Color.FromArgb(241, 220, 219).ToArgb() 来设置颜色,并且发生了同样的事情。
经过大量测试后,我终于弄清楚了,这非常简单。显然,Excel 的 Interop 库有一个错误,并且正在反转红色和蓝色值,因此我需要传递 BGR,而不是传递十六进制的 RGB,突然间颜色就正常了。我很惊讶这个错误在互联网上的其他任何地方都没有记录。
因此,如果其他人遇到此问题,只需在 BGR 值中传递 Excel 值即可。 (或者如果使用 Color.FromArgb(),则传入 Color.FromArgb(B, G, R))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)