2

冒着让这个问题被遗忘或被关闭为“过于本地化”的风险,我想我会发布这个问题,因为我的老板经常抱怨它,这让我摸不着头脑。

我们使用Infragistics NetAdvantage Excel 控件即时创建 Excel 报告。一些单元格,我们添加填充颜色,如下所示:

sheet.Rows[i].Cells[0].CellFormat.FillPattern = FillPatternStyle.Solid;
sheet.Rows[i].Cells[0].CellFormat.FillPatternForegroundColor = Color.FromArgb(127, 127, 127);

这很好用,报告看起来很好:

工作图像

但是,如果我的经理选择 Excel 中的所有单元格,将数据复制到剪贴板,然后将这些单元格粘贴到另一个 Excel 文件中,所有颜色都会转换为一些奇怪的 3 位调色板:

在此处输入图像描述

现在,每种填充颜色都是纯红色 (#FF0000)、纯绿色 (#00FF00)、纯蓝色 (#0000FF) 或黄色 (#FFFF00)。它是任何给定颜色的全部或全部。那个深灰色的标题甚至变成了全白。

一件有趣的事情是,如果我在 Excel 中手动更改其中一个单元格的填充颜色,然后复制并粘贴它,我手动设置的颜色会在 Infragistics 生成的单元格抖动时完美复制。

这只发生在 Excel 文件之间复制时,而不是 Excel 文档中的工作表之间。有没有人遇到过这个问题,或者是否有任何 Excel 专家从技术角度知道可能导致此问题的原因?

这是 Excel 2007 和 Infragistics Build 8.2.20082.1000。

4

5 回答 5

1

这在 NetAdvantage 2012 第 1 卷中得到解决,其中对 excel 引擎使用的颜色模型进行了更改。Mike 在Infragistics 论坛上的回复也提到了这一点。

解决此问题的最佳选择是使用 NetAdvantage 2012 第 1 卷中的 excel 引擎。

于 2012-07-17T20:35:23.490 回答
1

所以我遇到了同样的问题,无法弄清楚为什么复制的格式不会延续到另一个工作表中。所以,没有官方的“修复”,但是我意识到它并没有延续,因为我在一个完全独立的 Excel 文档中。本质上,您必须在同一个 Excel 表中复制和粘贴文档。因此,当您打开要复制的项目时,请从您的复制表中打开您的其他 Excel 表(文件、打开)。粘贴后,它将保存您的所有格式。希望这可以帮助!

于 2015-08-24T16:57:24.420 回答
0

我还为那些不想(或负担不起)升级的人找到了解决方案。像这样简单地创建工作簿:

Workbook b = new Workbook(WorkbookPaletteMode.StandardPalette);

将解决问题。但是,显然您将无法使用任何完全自定义的颜色。它们将四舍五入到最接近的标准颜色,这在我们的例子中非常好。

于 2012-08-28T15:57:45.347 回答
0

不同的版本会以不同的方式呈现颜色,这似乎就是您所看到的

这篇文章很好地解释了这一点http://answers.officewriter.com/workbook-colors-are-not-displayed-as-expected-in-older-versions-of-excel

有一个用于创建自定义调色板的工具,它应该比创建自己的调色板更容易为您解决这个问题。

http://excelcampus.com/tools/color-palette-conversion

在此处输入图像描述

Excel 保存首选项允许您更改或保留使用的颜色 在此处输入图像描述

于 2012-07-16T23:11:32.450 回答
0

好的,我想在遇到此处和其他地方描述的相同问题后,我已经解决了这个问题......看看这个!首先转到您粘贴到的页面并突出显示整个页面,然后转到打印区域和“清除打印区域”。然后去粘贴区域删除单元格,即使那里什么也没有!突出显示行(即使那里什么都没有)。删除行。现在从头开始复制和粘贴,您应该能够粘贴所有原始颜色和公式!

于 2015-12-13T21:18:00.903 回答