openpyxl中的单元格公式问题

时间:2014-09-24 06:15:26

标签: openpyxl

我有一个excel文件,其中包含L5:L10范围内的简单公式,如下所示:

=IF(E5="LONG",(I5-G5)*F5,(G5-I5)*F5)
...
=IF(E10="LONG",(I10-G10)*F10,(G10-I10)*F10)

使用Cell.value访问范围内的公式时,如下所示:

for c in ws['L5':'L10']: print c[0].value

我得到以下输出:

=IF(E5="LONG",(I5-G5)*F5,(G5-I5)*F5)
=IF(E6="LONG",(I6-G6)*F6,(G6-I6)*F6)
=
=
=
=

如您所见,L7~L10被报告为空公式,但文件中并非如此。

我正在使用Mercurial(2.1)的最新版本。这是一个错误吗?

2 个答案:

答案 0 :(得分:0)

当公式应用于Excel中的一系列单元格时,有时会使用优化来仅存储对公式的引用。 Openpyxl保留了这个,但没有解压缩它。如果没有要查看的文件,很难说更多。如果您认为有错误,请提交错误。

答案 1 :(得分:0)

对不起大家,在我询问一个非常类似的问题之前,我没有偶然发现这个问题:

openpyxl returning empty cell values for formula series

我担心这些是重复的,但是当有人能够在我的帖子中回答它时,我想我应该提供一个潜在解决方案的链接,直到其中一个问题被标记为重复。