使用 openpyxl 获取单元格值的显示字符串

Elm*_* Yu 5 python excel openpyxl

openpyxl用来处理excel.xlsx 文件。文件中的某些列包含不同数字类型的单元格。我可以从 Cell 对象中获取 number_type 和 value,但找不到获取 string的简单方法。我在 openpyxl 的文档和来源上花了几个小时,但一无所获。

例如,我从 ipython 得到这个输出:

In [6]: ws['D4'].value
Out[6]: 0.02

In [7]: ws['D4'].data_type
Out[7]: 'n'

In [8]: ws['D4'].number_format
Out[8]: '0.0%'

In [9]: ws['D2'].number_format
Out[9]: u'yyyy"\u5e74"m"\u6708"d"\u65e5";@'

In [10]: ws['D2'].value
Out[10]: 42370L
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到像'2%'and这样的字符串u'2016\u5e741\u67081\u65e5'?单元格可能是一些自定义的单元格格式,所以我更喜欢通用的方式。

Cha*_*ark 4

任何单元格的值都是 Excel 类型的 Python 等效项。openpyxl 是一个文件格式库,而不是像 Excel 这样的应用程序。因此,它仅支持设置和读取数字格式的功能,但不支持应用它们。也就是说,您可以轻松地编写自己的函数来根据规范执行您想要的操作(创建 printf 类型格式)。