我想格式化负数,以便在我使用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方法是否有更好的方法来实现这种格式?请帮助。
使用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')
输出