将负数更改为openpyxl中的方括号形式

问题描述 投票:0回答:1

我想格式化负数,以便在我使用openpyxl创建它时,它在Excel中被带有红色字体的方括号包围。我目前正在使用手动方式,如下所示:

def reformat_negative_number(num):
    if num > 0:
        return num
    else:
        return f"({str(num * -1)})""

sheet["A1"].value = reformat_negative_number(-3.14)  

使用openpyxl方法是否有更好的方法来实现这种格式?请帮助。

openpyxl
1个回答
0
投票

使用Named Style将起作用。

from openpyxl import *
from openpyxl.styles import *
from openpyxl.styles.colors import RED
from openpyxl import load_workbook

wb = load_workbook("./document.xlsx")
ws = wb.active
negative_style = NamedStyle(name='negativeStyle')
negative_style.font = Font(color = '00FF0000')
negative_style.alignment = Alignment(horizontal="right")
wb.add_named_style(negative_style)
for row in ws.iter_rows(min_col=1, max_col=1, max_row=10):
    if cell.value < 0:
        cell.value = f"({str(cell.value)})"
        cell.style = negative_style
wb.save('document.xlsx')

输出

Excel Output

© www.soinside.com 2019 - 2024. All rights reserved.