找回密码
 立即注册

QQ登录

只需一步,快速开始

unity

社区贡献组

16

主题

147

帖子

447

积分

社区贡献组

积分
447

活字格认证

unity
社区贡献组   /  发表于:2014-8-13 14:27  /   查看:10872  /  回复:18
使用C1Excel设置单元格背景颜色存在问题,设置的颜色经常出现偏差。
例如把一个单元格的颜色设置为 RGB(240, 240, 240)
保存后得到的实际背景颜色是 白色。

如直接在office里面设置一个单元格的颜色为 RGB(240, 240, 240) 保存。
用C1Excel 打开,然后再保存,这个单元格的背景颜色就变了,变成了 RGB(198, 199, 198)

是不是C1Excel对 背景颜色的处理存在bug?

18 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-8-13 17:36:00
沙发
回复 1楼unity的帖子

请问你C1的版本是什么,可以尝试在新版有没有问题。
或是在C1Excel 版本4.1.20112.203之后的版本是否有问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
unity
社区贡献组   /  发表于:2014-8-18 16:14:00
板凳
试了不同的版本都有这个问题。
这边测试过的最高版本是2.1.20133.287, 是.net 2.0的。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-18 17:05:00
地板
回复 3楼unity的帖子

你好,在比较旧的版本下有这个bug,但已经在C1Excel.2的2.1.20131.256和C1Excel.4的4.1.20131.256被修复。
我测试在2.1.20142.321和4.1.20142.321版本下的C1Excel,均没重现该问题。
下面是我的测试代码:
  1.         private Color color1 = Color.FromArgb(240, 240, 240);
  2.         private Color color2 = Color.FromArgb(255, 255, 255);

  3.         private void button1_Click(object sender, EventArgs e)
  4.         {
  5.             C1XLBook book = new C1XLBook();
  6.             book.Palette = new Color[] { color1, color2 };

  7.             var sheet = book.Sheets[0];
  8.             // style with palette colors
  9.             var style = new C1.C1Excel.XLStyle(book);
  10.             style.BackColor = color1;
  11.             style.ForeColor = color2;

  12.             // set style and text value
  13.             sheet[12, 1].Style = style;
  14.             sheet[12, 1].Value = "color";

  15.             book.Save("test.xls");
  16.         }
复制代码

请在修复之后的版本再次尝试该问题,或是新版本下使用。
新版本的下载链接如下:http://www.gcpowertools.com.cn/d ... AspWijmo_2014v2.msi
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
unity
社区贡献组   /  发表于:2014-8-19 17:26:00
5#
测试了一下设置 book.Palette 属性后背景颜色可以正确设置了。
我之前测试是没有设置这个属性。

不过还是有一个问题,就是在office里面设置的背景颜色,用C1excel打开后再保存会变化。
用C1excel打开后看看book.Palette 属性是空的(长度为0),没有数据。
回复 使用道具 举报
unity
社区贡献组   /  发表于:2014-8-19 17:26:00
6#
测试的版本是 2.1.20133.287
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-19 18:03:00
7#
回复 5楼unity的帖子

你好,没有重现Save后背景色变化的问题。测试版本:2.1.20142.321
在excel的单元格设置了背景色,并且导入到c1excel,然后存储。我的测试代码如下:
  1.             if (openFileDialog1.ShowDialog() == DialogResult.OK)
  2.             {
  3.                 c1XLBook1.Load(openFileDialog1.FileName, C1.C1Excel.FileFormat.OpenXml);
  4.             }
  5.             var sheet = c1XLBook1.Sheets[0];
  6.             sheet[12, 1].Value = "color";

  7.             c1XLBook1.Save(openFileDialog1.FileName);
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
unity
社区贡献组   /  发表于:2014-8-20 11:35:00
8#
我用的是xls格式的excel文件,不是xlsx格式。
回复 使用道具 举报
unity
社区贡献组   /  发表于:2014-8-20 11:45:00
9#
刚才也测试了一下 xlsx的文件。
确实没有问题,就算不设置 book.Palette  也是没有问题。

然后又看了一下xls格式的文件,设置 book.Palette 属性后还有一个新的问题:
文字颜色问题,代码中没有设置单元格的文字颜色,但是文字颜色变成了Palette中的第二个颜色。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-20 11:56:00
10#
回复 9楼unity的帖子

你好,为了避免理解上的误差,能否将你的Sample包括excel文件传上来看看呢?
我再帮你分析下原因。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部