在openpyx中对名称样式使用多种数字格式

2024-10-01 17:39:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用openpyxl生成Excel文件。我首先打开一个现有的工作簿,其中包含一些预定义的样式,如“MyHeading1”,然后将单元格设置为与此样式相同的单元格,如下所示:

ws['D5'].style = 'MyHeading1'

这是可行的,但我正在努力的是设置正确的数字格式。一些单元格是数字,而另一些是日期。我试过以下几种,但没有成功。在

^{pr2}$

所以我的问题是,在单元格的其他格式相同的情况下,处理多个数字格式的正确方法是什么?在


Tags: 文件方法wsstyle格式情况样式数字
2条回答

样式有一个默认值,比如found是“Calibri”,size是11。您可以参考此1以获取更多详细信息。你不能指定的原因cell.number_格式可能是将单元格指定为常规格式,然后使用不再是日期格式的isinstance(value, datetime.date)。您可以检查ws['D5'].number_format来验证它。以下代码可能对您有所帮助:

wb = Workbook()
ws1 = wb.create_sheet(title="example")
ws1['D5'].value = datetime.datetime.strptime('24052010', '%d%m%Y').date()
if isinstance(ws1['D5'].value, datetime.date):
    ws1['D5'].number_format = 'dd-mmm-yy'
else:
    ws1['D5'].number_format = '# ##0.00'
wb.save(filename = 'test.xlsx')

命名样式具有数字格式,一旦指定了命名样式,则无法更改:

NB. once you have assigned a named style to a cell, additional changes to the style will not affect the cell.

https://openpyxl.readthedocs.io/en/stable/styles.html#named-styles

相关问题 更多 >

    热门问题