From bdbc3e4273b8ffe1625c387eb74a929cbf8e40b6 Mon Sep 17 00:00:00 2001 From: kkfluous Date: Thu, 2 Apr 2026 17:26:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BD=A6=E8=BE=86=E8=BF=BD=E8=B8=AA?= =?UTF-8?q?=E4=BA=A4=E6=9B=BF=E8=A1=8C=E5=BA=95=E8=89=B2=EF=BC=88=E6=8C=89?= =?UTF-8?q?=E8=BD=A6=E7=89=8C=E5=88=86=E7=BB=84=E6=8D=A2=E8=89=B2=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 奇数车牌白底,偶数车牌浅灰底,多人同车保持同色。 车辆信息列用更深的灰色区分。达标/发放等特殊颜色覆盖底色。 Co-Authored-By: Claude Opus 4.6 (1M context) --- excel_writer.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/excel_writer.py b/excel_writer.py index 5fa9d62..c8bf609 100644 --- a/excel_writer.py +++ b/excel_writer.py @@ -364,6 +364,11 @@ def write_vehicle_tracking_sheet(wb, settle_month, G, master_vehicles, vehicle_p WH(ws, headers) ws.freeze_panes = 'H2' # 冻结车辆信息+业务员列 + # 交替行底色 + stripe_a = PatternFill(start_color='FFFFFF', end_color='FFFFFF', fill_type='solid') # 白 + stripe_b = PatternFill(start_color='F5F5F5', end_color='F5F5F5', fill_type='solid') # 浅灰 + vehicle_idx = 0 + rn = 2 for mv in master_vehicles: plate = mv['车牌号'] @@ -389,6 +394,7 @@ def write_vehicle_tracking_sheet(wb, settle_month, G, master_vehicles, vehicle_p if not persons: persons = [''] # 无考核记录也占一行 + row_stripe = stripe_b if vehicle_idx % 2 == 1 else stripe_a start_rn = rn for pi, person in enumerate(persons): sd = person_set.get(person,'').replace('业务','') if person else '' @@ -456,10 +462,13 @@ def write_vehicle_tracking_sheet(wb, settle_month, G, master_vehicles, vehicle_p WR(ws, rn, row) - # 美化 - # 车辆信息列灰底 + # 美化:先刷底色(交替色),再叠加特殊色 + for ci in range(1, len(headers) + 1): + ws.cell(row=rn, column=ci).fill = row_stripe + + # 车辆信息列灰底(覆盖条纹) for ci in range(1, info_cols + 1): - ws.cell(row=rn, column=ci).fill = grey_fill + ws.cell(row=rn, column=ci).fill = grey_fill if vehicle_idx % 2 == 0 else PatternFill(start_color='E8E8E8', end_color='E8E8E8', fill_type='solid') # 月度达标列着色 for m in range(1, settle_month + 1): @@ -507,6 +516,8 @@ def write_vehicle_tracking_sheet(wb, settle_month, G, master_vehicles, vehicle_p ws.merge_cells(start_row=start_rn, start_column=pool_col, end_row=start_rn + len(persons) - 1, end_column=pool_col) + vehicle_idx += 1 + # 列宽 # 隐藏BCD列(车架号/归属公司/车型) for cl in ['B','C','D']: