【前言:质变之美】
易经讲“饰,亨”。在职场中,数据是“质”,排版是“饰”。一份乱糟糟的 Excel 即使数据准确,也会给人留下不专业的印象。今天 FireTech 教你用 openpyxl 替代手动刷格式,让你的报表在发给领导的那一刻,就自带“大厂滤镜”。

【场景痛点】
导出的报表表头没颜色、数据没边框、列宽忽大忽小,每次都要手动调半天,改得心烦意乱。

【核心代码:极简美化】
安装库:pip install openpyxl

from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side

# 1. 加载现有的 Excel
file_path = 'daily_report.xlsx'
wb = load_workbook(file_path)
ws = wb.active

# 2. 定义样式:深蓝底、白字、加粗、居中
header_fill = PatternFill(start_color="1F4E78", end_color="1F4E78", fill_type="solid")
header_font = Font(color="FFFFFF", bold=True)
center_align = Alignment(horizontal="center", vertical="center")
thin_border = Border(left=Side(style='thin'), right=Side(style='thin'), 
                    top=Side(style='thin'), bottom=Side(style='thin'))

# 3. 批量应用样式
for cell in ws[1]: # 针对第一行(表头)
    cell.fill = header_fill
    cell.font = header_font
    cell.alignment = center_align
    cell.border = thin_border

# 4. 自动调整列宽(简单实现逻辑)
for col in ws.columns:
    max_length = 0
    column = col[0].column_letter # 获取列名字母
    for cell in col:
        if cell.value:
            max_length = max(max_length, len(str(cell.value)))
    ws.column_dimensions[column].width = max_length + 2

wb.save("FireTech_Styled_009.xlsx")
print("报表美化完成!")

【FireTech 避坑笔记】

库选择: pandas 适合算数据,openpyxl 适合改格式。如果是要美化已经存在的表,一定要用 openpyxl。

颜色代码: 颜色使用的是 HEX 十六进制(去掉#号)。

【文末心法】
君子以豹变,其文郁也。代码不仅是逻辑的推演,也是审美在数字世界的延伸。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐