使用 openpyxl 1.8.6 将 excel 单元格编号格式“常规”更改为“文本”

Mon*_*nty 5 openpyxl

如何更改Excel单元格数字格式General,以Text在细胞不论数据的?

我正在使用 openpyxl 1.8.6。

Sup*_*Grl 8

我知道这个问题真的很老,但它仍然是相关的,因为我在谷歌搜索同样的东西时才发现它。以上大部分时间都可以工作,但在那些令人讨厌的情况下,Excel 开始表现得像我过去认识的人一样,并认为一切都是约会。;)

我会这样做:

cell = ws['A1']
cell.number_format = '@'
Run Code Online (Sandbox Code Playgroud)

'@'是一个占位符,部队文本格式。文档表明这适用于 1.8.6 版以及最新版本。

  • 第一段末尾的双关语是我在 SO 上读过的最有趣的事情之一。谢谢。:-) (5认同)

run*_*ace 6

基于@SuperScienceGrl 的精彩回答:

from openpyxl.styles import numbers

cell.number_format = numbers.FORMAT_TEXT
Run Code Online (Sandbox Code Playgroud)

您可以在他们的官方 readthedocs 页面上查看完整的格式列表


Cha*_*ark 4

数字格式仅适用于数字。如果要将数字更改为文本,则必须更改数据类型:

ws['A1'] = str(ws['A1'].value)

不再支持版本 1.8.6。您应该考虑升级到更新的版本。