最近我花了一些时间来解决这个问题.如果您遇到同样的问题,这可能会有所帮助,您将获得如何解决问题的线索.
我有openpyxl版本2.2.2我需要在点之后用2位数写入百分比值到单元格中.值应在Excel中显示为"3.14%" - 百分比类型,点后两位小数这是我的第一次尝试:
from openpyxl import Workbook
wb = Workbook(guess_types=True)
ws = wb.create_sheet(index = 0, title = "MyTable")
ws['A1'].value = '3.14%'
ws['A1'].number_format
>> '0%'
Run Code Online (Sandbox Code Playgroud)
看起来很好,除非你不知道'0%'是什么意思在这里它看起来如何在excel中:

您所需要的只是:
这是最终状态:
wb = Workbook()
ws = wb.create_sheet(index = 0, title = "MyTable")
ws['A1'].value = '3.14%'
ws['A1'].number_format = '0.00%'
Run Code Online (Sandbox Code Playgroud)
以下是其他使用格式的文档:http: //openpyxl.readthedocs.org/en/latest/styles.html
您还可以使用内置样式编号。
wb = Workbook()
ws = wb.create_sheet(index = 0, title = "MyTable")
ws['A1'].value = '0.0314'
from openpyxl.styles.numbers import FORMAT_PERCENTAGE_00
# with two decimal places. Will output 3.14%
ws['A1'].number_format = FORMAT_PERCENTAGE_00
from openpyxl.styles.numbers import FORMAT_PERCENTAGE
# with no decimal places. Will output 3%
ws['A1'].number_format = FORMAT_PERCENTAGE
Run Code Online (Sandbox Code Playgroud)
或者使用build it styles。它将输出3%
ws['A1'].style = "Percent"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9288 次 |
| 最近记录: |