基于C#的报表自动生成技术的研究与实践

2020-03-08 06:02李进豪
现代计算机 2020年36期
关键词:登记表控件报表

李进豪

(广东省海洋工程职业技术学校,广州510320)

数字化、网络化、智能化渗透在职业教育的各个领域,智慧教育已成为实现职业教育跨越式发展的必然选择。基于实际工作项目和智慧教育需求,重点探索基于C#的报表自动生成的原理与核心技术,并以实践案例辅以佐证。

C#;Excel;报表自动生成

0 引言

以多媒体、物联网、云计算、大数据、人工智能等信息技术的应用为基础,以提升信息技术与学科教学深度融合为抓手,数字化、网络化、智能化渗透在职业教育的各个领域,智慧教育已成为实现职业教育跨越式发展的必然选择。构建互通共享的数据集成平台,支持学校智慧化管理与精准化服务,支持混合教学、个性化学习、研学共同体等,提升教育教学质量,培育T型工匠人才,是目前职业学校信息化建设的核心。作为广东省中小学教师信息技术应用能力提升工程2.0试点校信息化管理团队成员,笔者对如何实现智慧化管理与精准化服务、如何基于名师工作室提升教师信息技术应用能力深有感触。文章主要根据笔者的实际工作项目,以职业学校的教育信息化为背景,重点探索在数据集成平台下基于C#的报表自动生成技术的可行性方案与应用效果。

1 问题的提出

1.1 成绩登记表与成绩报告分析表

期末考试结束后,绝大多数学校都会要求任课教师登录学校OA系统中录入学生成绩,并提交成绩登记表和成绩报告分析表等。如何从互通共享的数据集成平台中提取数据自动生成相关报表,实现数据零差错对接,减少教师的工作量,提升教师的获得感,是智慧教育之精准化服务的追求。

1.2 基本医疗保险电子申报表与毕业生登记表

在新生入学时,每位班主任都会录入学生基本信息并提交学校学籍管理中心。当学生信息有异动时,相关人员也会在学校学籍管理中心进行及时更新。如何从互通共享的数据集成平台中提取数据自动形成基本医疗保险电子申报表与毕业生登记表等,实现智能化对接并确保信息的唯一性,减少班主任的工作量,提升班主任的幸福感,是智慧教育之精准化服务的使命。

2 基于C#的报表自动生成技术的基本原理

2.1 C#

C#由C和C++衍生,它继承了C和C++的强大功能,是一种安全、简单、现代、通用、流行的面向对象程序设计语言。

2.2 Excel

Excel拥有直观的界面、出色的图表工具等,能设计出各种报表,是目前流行的数据处理软件之一,同时也是绝大多数管理系统支持的数据交换格式。

图1

2.3 基于C#的报表自动生成技术的基本原理

(1)背景

从互通共享的数据集成平台获取基础数据,以智能化、精准化的管理系统(含二次开发的辅助教学软件)为核心,基于需求动态形成用户报表,实现数据零差错对接,确保数据的唯一性。

(2)案例

实现功能:打开当前路径下文件名为“rj1701byxx.xlsx”的文件,并向该工作薄的第一个工作表的第1行第1列单元格(A1)中写入“TEST2020”。

开发语言:C#。

数据源:工作薄(Excel文档)。

(3)基本原理

3 基于C#的报表自动生成技术的核心技术

3.1 核心技术

(1)创建用户报表框架

基于文件复制实现用户报表框架的个性化获取,基于自定义格式提升报表框架的可更新性。

(2)获取有效数据

基于数据筛选实现有效数据的智能化获取,基于自定义条件提升筛选条件的可选择性。

(3)动态生成控件

基于“自定义+个性化”利用内置代码动态生成控件,基于动态自动生成控件并读取字段名称实现管理系统(含二次开发)的可扩展性。

(4)写入报表数据

基于字段名称匹配与循环读写实现报表数据的零差错写入,确保数据的唯一性和可靠性。

(5)相关引用

基于开发需求引用必要的类型库,以提升系统的简洁性与稳定性,基于using语句简化对命名空间的引用。

3.2 文件复制

3.3 数据筛选

3.4 动态自动生成控件并读取字段名称

}//程序段功能:动态按需生成控件,并自适应读取相应信息,以提升程序的可扩展性

3.5 字段名称匹配与循环读写

3.6 相关引用

4 案例

4.1 需求

报表:毕业生登记表。

项目来源:基于名师工作室提升教师的信息技术应用能力(广东省职业教育“双师型”名教师工作室专项)&报表自动生成技术(广东省教科文卫系统劳模和工匠人才创新工作室专项)。

需求:基于智能化的辅助教学软件从互通共享的数据集成平台中获取相应数据并自动形成毕业生登记表(基于“需求+二次开发”的辅助教学软件)。

主要目标:减少班主任的工作量,实现数据零差错对接。

辅助目标:基于真实项目助力工作室学员互助研修(研修共同体),基于经验积累与分享提升学员的信息技术应用能力。

4.2 数据流

图2

4.3 实现

(1)基于数据集成平台导出基础数据

(4)根据用户报表所需字段自适应逐行从“数据集”读取并写入用户报表

核心代码:自适应读写

(5)保存

核心代码:保存工作薄

Mywb.Save();

4.4 图例1:运行界面(字段自适应匹配)

图3

4.5 图例2:报表框架(毕业生登记表)

图4

4.6 图例3:用户报表(毕业生登记表)

图5

5 结语

智慧化管理和精准化服务,有利于提高管理效率和服务质量,有利于提升师生的获得感和幸福感;以工作室真实项目为载体,基于研修共同体互助研学,有利于提升教师的信息技术应用能力。本文提及的代码全部在“VS 2019+C#+Office 2016”环境下基于C#调试通过,并应用于实际工作中。

猜你喜欢
登记表控件报表
基于C++Builder 的电子邮件接收程序设计*
使用“填表单”微信小程序 统计信息很方便
2021年山西省对口升学考试奖励照顾考生登记表
山西省成人高校招生录取照顾对象登记表
基于.net的用户定义验证控件的应用分析
2020年山西省对口升学考试奖励照顾考生登记表
2019年山西省普通高校专升本选拔考试获奖考生照顾加分登记表
镇长看报表
月度报表
月度报表