C# 在C中使用Get_range保留文本格式

C# 在C中使用Get_range保留文本格式,c#,excel,C#,Excel,我想将范围从一个excel文件复制到另一个文件,现在,我正在使用get_range方法选择源数据,然后使用Cells.Value2获取数组 然后我把这个值放到目标文件的get_范围中,但这样做并不会保持文本格式 有没有办法保持格式,更好地选择我想要保留的格式,比如只保留文本格式,而不是背景单元格格式,或者边框等等 是的,它将不起作用,因为您仅从初始范围中获取.Value2,还需要格式。因为如果没有,目的地范围的格式将被协调。 我想你可以这样做: Range initial_Range = ini

我想将范围从一个excel文件复制到另一个文件,现在,我正在使用get_range方法选择源数据,然后使用Cells.Value2获取数组

然后我把这个值放到目标文件的get_范围中,但这样做并不会保持文本格式


有没有办法保持格式,更好地选择我想要保留的格式,比如只保留文本格式,而不是背景单元格格式,或者边框等等

是的,它将不起作用,因为您仅从初始范围中获取.Value2,还需要格式。因为如果没有,目的地范围的格式将被协调。 我想你可以这样做:

Range initial_Range = initial_worksheet.get_Range(...);
Range destination_Range = destination_worksheet.get_Range(...);

destination_Range = initial_Range;
拥有全部:数字格式,背景颜色。。。在新版本中的初始范围

或者通过使用类似于:

destination_Range.Value2 = initial_Range.Value2;
destination_Range.Font.ColorIndex = initial_Range.Font.ColorIndex;
destination_Range.Interior.ColorIndex = initial_Range.Interior.ColorIndex;
destination_Range.Interior.Pattern = initial_Range.Interior.Pattern;
destination_Range.NumberFormat = initial_Range.NumberFormat;
为了只拥有您所需要的,您可以选择实例化NumberFormat而不是background


你可以在你的目标和初始范围内循环单元格,如果这对总范围不起作用的话

可能会重复@PseudoNym01 Hum,也许但我尝试在整个范围内循环,我尝试了你的解决方案,但文本仍然没有任何样式,就像我试图复制一些删除的文本,但它不起作用。我也尝试了复制,粘贴特殊方法除了复制的单元格外,哪种工作是粘贴为图像。我找到了解决此问题的方法: