使用VSTO(C#)从一个模板复制到另一个模板时,Excel颜色会变形

我们正在尝试使用模板生成Excel表格。 通常我们会做一个基本的“另存为”保存文件,但文件的大小过高。 所以,现在我们正在将原始工作簿的使用范围复制到一个新的工作簿。

数据得到复制,以及有关使用PasteSpecial命令的validation和公式以及除单元格背景和字体颜色之外的所有数据和格式都相同。 他们差点倒了。

请build议我怎么解决这个问题。

Excel使用来自56种颜色(可能在Excel 2007/2010中更多)的调色板中的颜色,可以使用“工具/选项”/“颜色”来更改颜色。

您可以使用以下方法将颜色从一个工作簿复制

Workbook1.Colors = Workbook2.Colors 

通过复制调色板,您当然会影响目标工作簿中所有UI元素的颜色,而不仅仅是您正在复制的范围。

它是这样工作的,主要的Workbook.Colors不在那里。 愚蠢的声明为我做了这份工作

 wb2.set_Colors(Missing.Value, wb.get_Colors(Missing.Value)); 

谢谢大家的回复。