1

我有一个 Python 类,它可以对数字进行一些货币转换和字符串格式化。它接受多态输入,但只输出一个字符串化的数字。我可以很容易地将这些字符串化数字推送到 Python 中的 LibreOffice Calc:

stringifiednumber = str("1.01")
cell_a1 = sheet1.getCellRange("A1")
cell_a1.String = stringifiednumber

这实际上工作得很好,因为 Calc 中的内置货币格式可以很好地处理字符串化数字。

不起作用的是公式,或者有点不起作用。调用SUM(A1:A2)不会看到字符串化的 A1。有一种解决方法(请原谅我来晚了,我完全忘记了,但它类似于:) =SUMRECORD(VALUE(A1:A2))

据我了解,每个单元格都有一个数字、字符串和公式的内存位置。该公式仅作用于VALUE内存位置。

通过电子表格 UI,我可以在复制期间将一种单元格类型转换为另一种。为此,我只需将以下公式放入 A2 中,然后将其转换STRING(A1)VALUE( A2)

# formula placed in A2

    =VALUE(A1)

但这只能通过将一个单元格复制到另一个单元格来实现。显然,在复制期间进行转换的电子表格中有一个内部重铸功能。

我想要做的是将一个字符串化的数字写入电子表格(如上),然后从 Python 调用电子表格本机重铸函数,以便从 STRING(A1)重铸 VALUE(A1)。

如果我知道重铸函数是什么,我可以在每次字符串写入后调用它。这将使 UI 中的宏像用户期望的那样工作。

如果您的答案是:“在 Python 端进行类型转换”,我已经考虑过了,这不是我正在寻找的解决方案。

4

1 回答 1

0

Based on your Title, multiply by 1:

Multiply text

于 2018-12-31T05:10:47.827 回答