from jinja2 import Environment, FileSystemLoader import config from process.inference import html2excel_pandas def render_html(template, output_file_path): sheets_data = [ { 'name': 'Personal Info', 'columns': ['Name', 'Age', 'Occupation'], 'data': [ ['Alice', 30, 'Engineer'], ['Bob', 25, 'Data Scientist'], ['Charlie', 35, 'Teacher'] ] }, { 'name': 'Scores', 'columns': ['Name', 'Math', 'Science', 'English'], 'data': [ ['Alice', 85, 92, 88], ['Bob', 78, 81, 86], ['Charlie', 93, 89, 91] ] }, { 'name': 'Attendance', 'columns': ['Name', 'January', 'February', 'March'], 'data': [ ['Alice', 'Present', 'Absent', 'Present'], ['Bob', 'Absent', 'Present', 'Present'], ['Charlie', 'Present', 'Present', 'Present'] ] } ] # 渲染模板 html_content = template.render(sheets=sheets_data) with open(output_file_path, 'w', encoding='utf-8') as f: f.write(html_content) def main(): env = Environment(loader=FileSystemLoader(config.template_dir)) template = env.get_template("excel_template.html") render_html(template, config.output_excel_html_path) html2excel_pandas(config.output_excel_html_path, config.output_excel_path) if __name__ == "__main__": main()