别再交丑表了:用 Python 自动美化 Excel,瞬间提升职场高级感
·
【前言:质变之美】
易经讲“饰,亨”。在职场中,数据是“质”,排版是“饰”。一份乱糟糟的 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 十六进制(去掉#号)。
【文末心法】
君子以豹变,其文郁也。代码不仅是逻辑的推演,也是审美在数字世界的延伸。
更多推荐


所有评论(0)