【传奇开心果系列】Flet自动化创建报表模板自动填充数据生成上报报表自定义框架模板

发布于:2025-08-16 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、效果图截图

在这里插入图片描述
在这里插入图片描述

二、应用场景介绍

该应用是一个基于 Flet 和 OpenPyXL 的自动化报表生成工具,主要用于创建和管理销售报表。具体应用场景包括:

  1. 报表模板创建

    • 用户可以选择不同的报表模板创建脚本,这些脚本会根据预定义的格式生成 Excel 报表模板。
    • 目前支持三种不同样式的销售报表模板:销售报表1销售报表2销售报表3
  2. 数据填充与保存

    • 用户可以选择已经创建的报表模板,并填充实际的销售数据。
    • 填充后的报表将被保存为新的 Excel 文件,方便用户进一步处理或上报。
  3. 数据清除

    • 用户可以清除报表中的数据,生成空白的报表模板,以便重新填充或存档。

三、特色说明

  1. 用户友好的界面

    • 使用 Flet 框架构建了一个简洁且直观的用户界面,用户可以通过下拉菜单选择报表模板,点击按钮进行操作。
    • 界面中包含多个按钮,每个按钮都有明确的功能标识,如创建模板、选择模板、填充数据和清除数据。
  2. 多种报表模板

    • 提供了三种不同样式的销售报表模板,每种模板都有独特的颜色和样式设置,满足不同用户的需求。
    • 每个模板的创建逻辑都封装在单独的 Python 脚本中,便于维护和扩展。
  3. 数据管理和操作

    • 支持从本地文件系统选择报表模板文件,确保用户可以灵活地管理和使用已有的报表。
    • 提供了数据填充和清除功能,用户可以根据需要对报表进行修改和保存。
  4. 样式和格式化

    • 使用 OpenPyXL 库对 Excel 文件进行详细的样式设置,包括合并单元格、设置字体、背景色、边框等,确保生成的报表具有专业和美观的外观。
  5. 自动化和高效

    • 通过自动化脚本,用户可以快速生成和管理报表,减少了手动操作的时间和错误率。
    • 所有操作都在一个统一的界面上完成,提高了工作效率。

四、Flet 和 OpenPyXL结合总结

该应用通过结合 Flet 和 OpenPyXL,提供了一个强大而灵活的报表生成工具,适用于需要频繁创建和管理销售报表的业务场景。用户可以通过简单的界面操作,轻松实现报表的创建、数据填充和管理,大大提升了工作效率和报表的专业度。

五、Workbook 的作用

create_sales_report_template3.py 中,Workbook 是 OpenPyXL 库中的一个核心类,用于创建和管理 Excel 工作簿。以下是 Workbook 的主要作用:

  1. 创建工作簿

    • Workbook() 构造函数用于创建一个新的 Excel 工作簿对象。
    • wb = Workbook()
      
  2. 管理工作表

    • Workbook 对象可以添加、删除和管理多个工作表(Sheet)。
    • 默认情况下,创建一个新的 Workbook 时会自动包含一个名为 “Sheet” 的工作表。
    • 可以通过 wb.active 获取当前活动的工作表。
    • ws = wb.active
      
  3. 设置工作表名称

    • 可以通过 ws.title 属性设置工作表的名称。
    • ws.title = "销售报表3"
      
  4. 写入数据

    • 通过 ws.cell(row, column, value) 方法可以在指定的单元格中写入数据。
    • ws.cell(row=2, column=1, value="产品名称")
      
  5. 样式设置

    • Workbook 对象及其关联的工作表可以设置各种单元格样式,如字体、背景色、对齐方式等。
    • title_cell = ws['A1']
      title_cell.alignment = Alignment(horizontal='center', vertical='center')
      title_cell.font = Font(bold=True, size=16, color="FFFFFF")
      title_cell.fill = PatternFill(start_color="70AD47", end_color="70AD47", fill_type="solid")
      
  6. 保存工作簿

    • 最后,通过 wb.save(filename) 方法将工作簿保存为一个 Excel 文件。
    • wb.save("sales_report_template3.xlsx")
      

六、Workbook示例代码解析

create_sales_report_template3.py 中,Workbook 的具体使用如下:

def create_sales_report_template3():
    # 创建一个新的工作簿
    wb = Workbook()
    ws = wb.active
    
    # 设置工作表名称
    ws.title = "销售报表3"
    
    # 添加标题
    ws['A1'] = "销售报表3"
    
    # 合并单元格以居中显示标题
    ws.merge_cells('A1:F1')
    
    # 设置标题样式(可选)
    title_cell = ws['A1']
    title_cell.alignment = Alignment(horizontal='center', vertical='center')
    title_cell.font = Font(bold=True, size=16, color="FFFFFF")
    title_cell.fill = PatternFill(start_color="70AD47", end_color="70AD47", fill_type="solid")
    
    # 添加列标题
    headers = ["产品名称", "数量", "单价", "折扣", "税额", "总价"]
    for col_num, header in enumerate(headers, start=1):
        ws.cell(row=2, column=col_num, value=header)
    
    # 设置列标题样式(可选)
    for row in ws["2:2"]:
        row.font = Font(bold=True, color="FFFFFF")
        row.fill = PatternFill(start_color="4F8A3D", end_color="4F8A3D", fill_type="solid")
        row.border = Border(bottom=Side(style='thin'))
    
    # 设置列宽
    ws.column_dimensions['A'].width = 20
    ws.column_dimensions['B'].width = 10
    ws.column_dimensions['C'].width = 10
    ws.column_dimensions['D'].width = 10
    ws.column_dimensions['E'].width = 10
    ws.column_dimensions['F'].width = 10
    
    # 保存工作簿
    wb.save("sales_report_template3.xlsx")

七、Workbook角色总结

Workbook 在 OpenPyXL 中扮演着核心角色,它不仅用于创建工作簿,还负责管理其中的工作表、写入数据、设置样式以及最终保存文件。通过 Workbook,可以高效地生成和管理复杂的 Excel 报表。

八、源码下载地址

https://download.csdn.net/download/jackchuanqi/91676482


网站公告

今日签到

点亮在社区的每一天
去签到