隐藏
Single

C#项目 自动生成测报程序

项目概述

AutoSummaryService 是一个基于 .NET 8.0 构建的控制台应用程序,专为半导体行业设计,用于自动化生成晶圆测试数据报表。该系统能够从 Oracle 数据库提取测试数据,根据客户特定模板生成格式化的 Excel 报表,并计算关键指标如良率和测试结果分布。

技术架构

核心技术栈

  • 开发框架:.NET 8.0
  • 数据库访问:Oracle 数据库 + Dapper ORM
  • 报表生成:NPOI 库(Excel 操作)
  • 配置管理:App.config 配置文件

项目结构

核心功能

1. 数据提取与处理

系统通过 OracleDataRepository 从数据库获取以下关键数据:

  • 批次信息(LotInfo):客户代码、产品型号、晶圆批号等
  • 测试状态(TesterState):测试机台、测试步骤等
  • 测试明细(DataDetail):测试结果、Bin 分布、良率数据等
  • 设备信息(WipMc):测试设备型号与状态

2. 智能报表生成

ReportService 类实现了核心报表生成逻辑:

  • 根据客户代码和测试流程自动选择合适的 Excel 模板
  • 填充批次基本信息到报表头部
  • 处理原始测试数据并计算 Bin 分布统计
  • 自动计算总测试数量、通过数量和良率
  • 生成时间戳命名的报表文件,避免重复

3. 模板化设计

系统支持多模板策略,通过 GetTemplatePath 方法实现:

  • 默认模板:summary_normal_64bin_auto.xls
  • 客户特定模板:如 ZJL 客户专用模板
  • 流程特定模板:如 HFT 客户的 CP1 流程专用模板

使用方法

  1. 配置 Oracle 数据库连接字符串
  2. 设置报表输出目录和模板目录
  3. 运行程序并输入批次号(如 TSXT10929.1)
  4. 系统自动生成报表并保存到指定目录

业务价值

  • 自动化:减少人工报表制作时间,提高效率
  • 标准化:确保报表格式一致性和数据准确性
  • 可扩展性:通过模板机制轻松支持新客户和新流程
  • 数据可视化:将原始测试数据转化为直观的图表和统计信息

技术亮点

  • 使用依赖注入实现松耦合架构
  • 采用仓储模式隔离数据访问逻辑
  • 扩展方法 SetCellValueSafe 确保 Excel 数据类型安全
  • 异常处理机制确保系统稳定性
  • 支持大量 Bin 数据(最多 64 种 Bin)的统计分析

未来展望

  • 增加 Web 界面,实现浏览器访问
  • 集成 PDF 报表生成功能
  • 添加数据可视化图表
  • 实现定时任务自动生成报表
  • 增加邮件发送功能,自动分发报表

GitHub 链接:

wyh1359498723/AutoSummaryService: 使用 C# 结合 NPOI 处理 Excel 文件,配合 Oracle 数据库执行数据抽取与转换,实现晶圆测试数据自动填入指定 Excel 模板,提高报表效率

项目克隆:https://github.com/wyh1359498723/AutoSummaryService.git

 

暂无评论

发表评论

HTMLCOPY