diff --git a/.claude/skills/week_report_gen_from_json/generate_report.py b/.claude/skills/week_report_gen_from_json/generate_report.py index c0b02ba..7f0f448 100644 --- a/.claude/skills/week_report_gen_from_json/generate_report.py +++ b/.claude/skills/week_report_gen_from_json/generate_report.py @@ -565,7 +565,21 @@ def generate_weekly_report_from_json(json_input, output_file, template_file=None # Write data for current row ws.cell(row=current_row, column=2, value=project_name) ws.cell(row=current_row, column=3, value=row_data['子項目名稱']) - ws.cell(row=current_row, column=4, value=row_data['進度']) + + # Handle progress column (D) with percentage formatting + progress_cell = ws.cell(row=current_row, column=4, value=row_data['進度']) + if row_data['進度'] and str(row_data['進度']).strip(): + # Try to extract numeric value and format as percentage + progress_value = str(row_data['進度']).strip() + if progress_value.endswith('%'): + try: + numeric_value = float(progress_value[:-1]) / 100 + progress_cell.value = numeric_value + progress_cell.number_format = '0%' + except ValueError: + # If conversion fails, keep original text + pass + ws.cell(row=current_row, column=5, value=row_data['本周主要進展']) ws.cell(row=current_row, column=6, value=row_data['參與人員']) ws.cell(row=current_row, column=7, value=row_data['工時'])