fs-lawrisk/tools/generate_test_excel.py

70 lines
2.5 KiB
Python
Raw Normal View History

import openpyxl
import os
def generate_test_file():
template_path = r"c:\Users\WIN10\Desktop\work\11th-week\法律风险提示-new\市监局-lawRisk-backend\data\template\风险提示表 模板.xlsx"
output_path = r"c:\Users\WIN10\Desktop\work\11th-week\法律风险提示-new\市监局-lawRisk-backend\test_import_data.xlsx"
wb = openpyxl.load_workbook(template_path)
# The blank template usually has one sheet.
ws = wb.active
# Based on previous analysis (comparison_report.md)
# Metadata rows (approx row 1-7)
# Header row is Row 8.
# Data starts Row 9.
# Let's fill metadata for safety if parser looks for it
# But _normalize_import_row gets it from columns if they exist.
# Actually, the parser extracts metadata candidates from rows 1-header.
# The new template has:
# Row 3: "许可(备案)事项名称" (B3) -> value at C3?
# Row 4: "许可情况..."
# Row 5: "填表人" (B5) -> C5
# Row 6: "联系方式..." (B6) -> C6
# Row 7: "事项实施层级" (B7) -> C7, "单位名称" (E7) -> F7, "表格更新日期" (H7) -> I7
# Unmerge everything.
for range_string in list(ws.merged_cells.ranges):
ws.unmerge_cells(range_string.coord)
# Based on inspection:
# Row 2 (B2): Permit Name -> Write C2
# Row 3 (B3): Status -> Write C3
# Row 4 (B4): Filler -> Write C4
# Row 5 (B5): Contact -> Write C5
# Row 6 (B6): Level -> Write C6
# Row 7 (B7): Unit -> Write C7
# Row 8 (B8): Date -> Write C8
ws.cell(row=2, column=3).value = "Integration Test Permit"
ws.cell(row=3, column=3).value = "Active"
ws.cell(row=4, column=3).value = "AutoTester"
ws.cell(row=5, column=3).value = "12345678"
ws.cell(row=6, column=3).value = "Integration Level"
ws.cell(row=7, column=3).value = "Test Unit"
ws.cell(row=8, column=3).value = "2023-12-20"
# Table headers are at Row 8.
# Columns: A:序号, B:风险提示内容, C:法律依据, D:文号, E:摘要, F:备注
# Add Data Row 1 (Row 10 to avoid overwriting headers if they are in Row 9)
ws["B10"] = "1"
ws["C10"] = "Risk: Unregistered Business"
ws["D10"] = "Company Law Art 1"
ws["E10"] = "Doc No. 101"
ws["F10"] = "Must register"
ws["G10"] = "No remarks"
# Add Data Row 2 (Row 11)
ws["B11"] = "2"
ws["C11"] = "Risk: Expired License"
ws["D11"] = "License Law Art 5"
print(f"Saving populated test file to {output_path}")
wb.save(output_path)
if __name__ == "__main__":
generate_test_file()