请有人展示一个将数字格式应用于单元格的示例。例如,我需要科学格式,格式类似于“2.45E+05”,但我想不出如何在 openpyxl 中做到这一点。
我尝试了几种方法,但在保存工作簿时它们都报告错误。
例如:
import openpyxl as oxl
wb = oxl.Workbook()
ws = wb.create_sheet(title='testSheet')
_cell = ws.cell('A1')
_cell.style.number_format = '0.00E+00'
或者这个(这里我尝试使用一些预定义的数字格式,我也看到内置有工程格式但不知道如何访问它:
nf = oxl.style.NumberFormat.FORMAT_NUMBER_00
_cell.style.number_format = nf
在这两种情况下,我都会遇到相同的错误:
C:\Python27\openpyxl\cell.pyc in is_date(self)
408 """
409 return (self.has_style
--> 410 and self.style.number_format.is_date_format()
411 and isinstance(self._value, NUMERIC_TYPES))
AttributeError: 'str' object has no attribute 'is_date_format'
我见过这个问题:在 Openpyxl 中设置样式, 但它没有帮助,因为我不必更改任何其他格式设置。