【发布时间】:2020-05-05 15:51:38
【问题描述】:
我正在尝试使用 C# 在 Excel 中设置 NumberFormat 以获得相当大的范围。它的大表,逐个单元格地制作耗费太多时间。
我尝试过类似设置 Value2 的范围:
rng = ws.get_Range("H" + 2, "S" + 2);
rng.NumberFormat = numberFormat;
其中 numberFormat 是具有格式化字符串的对象数组(如“0.00”、“0.0000”、...) 看起来这行不通,因为在我看来,NumberFormat 只是整个 Range 的一个属性。
你知道如何让它快速,而不是逐个细胞的方法吗? 谢谢!
【问题讨论】:
-
您使用什么库与 Excel 交互?
-
野刺:大部分互操作都基于 Excel UI 操作。在 UI 中执行此类操作的唯一方法是“选择性粘贴:格式”。互操作对象模型中是否有类似的东西?
-
@Flydog57 是的,你可能是对的。我将使用 C# 中的 pasteSpecial 函数,正如这里提到的:link here in StackOverflow 缺点是,至少一个我必须逐个单元格地填充格式数据。另一个,必须有相同的数据模式,我想在其上应用我的 pasteSpecial 函数。可能正如你所说,没有更简单的方法了:)谢谢。
-
你是在对单行的单元格做这个吗?或者,您是对多行中的单元格执行此操作吗?如果是后者,请逐列而不是逐行进行格式设置。
-
@HagashenNaidu 我不使用任何自定义库。