70 lines
2.5 KiB
Python
70 lines
2.5 KiB
Python
|
|
|
||
|
|
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()
|