使用C#中的Get_range保持文本格式

时间:2014-07-02 13:30:29

标签: c# excel

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

然后我将此值放到目标文件的get_Range,但这样做并不保留文本格式。

有没有办法保持格式并更好地选择我想要保留的内容(例如只有文本格式而不是背景单元格格式或边框等)?

1 个答案:

答案 0 :(得分:0)

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

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

destination_Range = initial_Range;

将全部:numberFormat,backgroundColor ...作为新的范围内的初始范围,

或者使用类似的东西:

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而不是背景......

(如果这不能同时适用于总范围,则可以在目的地和初始范围内循环使用单元格)