有没有办法将 Aspose Cell 的值设置为字符串表示形式,同时保持其 type/style?

Is there a way to set the value of an Aspose Cell to a string representation while keeping its type/style?

我们有一个程序可以在各种文件(包括 Excel)中进行模式替换,并且正在使用 Aspose。因此,例如,我们可能有一个 PATTERN_TO_REPLACE 的单元格,然后我们将其替换为“6”或“6.0”或“1,000.00”(在美国)或“1.000 ,00"(在英国)。

(PATTERN_TO_REPLACE 也可以在公式中).

问题是我们必须使用 Java 匹配器来查找(并替换)字符串,这意味着我们正在调用 cell.setValue(String)。这导致 Aspose 将 CellValueType 更改为字符串,即使它以前是数字。

我们最初的解决方案是查看我们是否认为该字符串是一个数字,然后将其转换为 BigDecimal 并按原样传递,但这会导致大量工作(特别是对于类型的本地化)货币...)

我想做的是调用cell.getStyle()、cell.getType(),保存它们,设置值,然后return它们,但是没有cell.setType() 方法。有没有简单的方法来做我想做的事?

当你使用cell.setValue(String)时,当然,它会设置字符串类型。我认为您可以尝试使用 cell.putValue(String, true) 之类的重载。这样,如果您插入数字(作为字符串),它将自动转换为数字并将其设置为数字类型。

PS。我在 Aspose 担任支持开发人员/传播者。