基于C#的Excel分组计数系统设计与实现

2021-03-24 11:26刘仕华
计算机时代 2021年2期
关键词:高校

刘仕华

摘要: 如今,Excel表格的操作已成为所有办公人员必须掌握的技能,特别是在高校日常办公中,高校办公人员需要频繁的对Excel表格中数据进行分组计数。普通的Excel计数方法有着工作量大、操作复杂、耗时多、易出错、效率低等弊端。采用C#编程语言,设计和实现了Excel分组计数系统,可减少高校办公人员对Excel表格进行分组计数的工作量,提高工作效率。

关键词: 高校; C#; Excel; 分组计数

中图分类号:TP311          文献标识码:A     文章编号:1006-8228(2021)02-52-03

Abstract: Nowadays, the operation of Excel has become a essential skill that all office workers must master, especially in the daily work in office of colleges and universities, the office staff need to count the data in Excel frequently. The common Excel group counting methods have many disadvantages, such as heavy workload, complex, time-consuming, error prone and low efficiency. In order to reduce the workload of office staff in colleges and universities on Excel group counting, and improve the work efficiency, an Excel group counting system is designed and implemented by C# programming.

Key words: colleges and universities; C#; Excel; group counting

0 引言

随着办公自动化的飞速发展,所有人员的日常办公已离不开Excel表格操作,特别是在高校日常办公中,需要频繁的对Excel表格进行分组计数,传统的Excel表格分组计数方法存在着工作量大、效率低、易出错等弊端。C#作为面向对象开发的基础言语,具有较强的开发操作性[2],能够大幅度减少软件开发的周期。为了减少高校管理部门办公人员的工作量,提高办事效率[1],简化对Excel表格分组计数的复杂操作,开发Excel表格分组计数系统具有重大意义。

本文以高校招生录取后的数据为例,在高校新生录取结束后,需要对录取新生按照院系、录取专业、性别等进行分组计数,统计的数据需要实时、准确的用于下一步的宿舍安排、学生管理等工作。

1 传统的Excel分组计数

以如图1所列数据作为原始数据,以如图2所列数据作为最终的分组计数进行介绍,要想得到图2所示的统计数据,传统的Excel分组计数方法大致包括数据筛选和数据透视表等。

1.1 数据筛选

大部分办公人员在进行分组计数的时候第一时间都会想到数据筛选方法,该方法是Excel计数的基本方法,较为简单,是大部分办公人员基本都会使用的计数方法,但是该方法仅适用于需要统计的列数较少的情况,如果数据量大,工作量将会特别大,且容易漏统计。

数据筛选分组计数的流程如下:①创建一个分组计数汇总的Excel;②在Excel数据表中筛选录取学院;③筛选录取专业;④筛选性别;⑤将筛选数据列的值和统计数据手工填充到分组计数汇总Excel表格中。以上第二至第五项流程循环操作,直到所有录取学院、录取专业、性别都筛选完,整个分组计数工作才算完成。

1.2 数据透视表

数据透视表分组计数的流程如下:①使用数据透视表功能并选择需要分组计数的数据区域;②分别按顺序选择需要分组的列名到“行标签”区域,如录取学院、录取专业、性别等;③选择需要计数的列名到“数值”区域并设置计算类型为“计数”;④将统计数据复制值到新的Excel工作表中;⑤手工填充和删除多余文字。

虽然数据透视表分组计数方法比数据筛选方法简单、快捷,但是通过数据透视表方法得到的分组计数数据不能直接使用,需要再次进行手工填充和删除相应多余文字才能得到最终的结果数据,如果需要分组的列太多,手工填充和删除时易错误且工作量大。

以上两种传统的Excel分组计数方法仅适用于需要分组计数的列和数据量都较少的情况,如果需要分组计数的列或数据量较多,分组计数会变得工作量大、耗时多、效率低且易出错。

2 系统设计与实现

2.1 系统流程设计

Excel分组计数系统流程如图3所示:①导入需要分组计数的Excel表格;②选择需要分组计数的工作表;③选择需要分组计数的数据列(如录取学院、录取专业、性别);④分组计数;⑤导出数据。

2.2 系統实现

Excel分组计数系统主要用于将Excel表格中的数据按照指定多列进行分组计数,Excel分组计数系统的界面如图4所示。

2.2.1 读取Excel表格

点击“浏览”按钮,选择需要进行分组计数的Excel表格,系统将动态的把所选Excel表格中所有的工作表显示到下拉框中,可根据实际情况选择相应的Excel工作表,系统将所选工作表的数据显示到一个DataGridView表格中。

2.2.2 Excel分组计数

点击“增加计数列”按钮,可以根据实际情况动态选择需要分组计数的列名,然后点击“计数”按钮,系统将按照所选的列名进行分组计数,计数后的所有分组统计数据将会显示到一个DataGridView表格中,同时,可以选择分组计数结果表中的相应数据行,然后点击“查看数据”可反向查看所对应的原始数据。

Excel分组计数功能的核心代码如下:

//根据动态选择所有的分组列循环组合SQL语句

strCom_group="select";

for (int h=0; h

{  strCom_group+=column[h]+",";

}

strCom_group+="count(*) as 计数 FROM

["+cbx_FirstFile.Text+"$]"+" group by ";

for (int h=0; h

{  strCom_group+=column[h] + ",";

}

strCom_group=strCom_group.Substring(0,

strCom_group.LastIndexOf(','))+

"order by count(*) desc";

//執行SQL语句

myConn_first.Open();

myCommand_first=new OleDbDataAdapter

(strCom_group, myConn_first);

myCommand_first.Fill(ds_group, "table1");

dt_group=ds_group.Tables[0];

//将分组计数结果放到DataGridView表中显示

dataGridView1.DataSource=ds_group.Tables[0];

2.2.3 导出Excel表格

点击“导出数据”按钮,选择需要存放导出文件的路径,输入需要导出的分组计数Excel文件名,系统会将分组计数的数据导出成相应的Excel表格。其中,系统的导出Excel功能采用了NPOI来实现,NPOI是POI(POI是一个开源的Java读写Excel、Word等微软OLE2组件文档的项目)项目的.Net版本[4]。。

3 结束语

本文基于C#编程语言,设计和实现了Excel表格的分组计数系统,大幅度减少了高校管理部门对Excel表格进行分组计数的工作量,提高了办公人员的工作效率,为高校的各项工作提供了较强的技术支持。

参考文献(References):

[1] 王菊.Excel电子表格在招生录取数据处理方面的应用[J].数字技术与应用,2020.38(06):58-59

[2] 陈小龙,陈绮璟.基于C#.NET实现Excel数据导入数据库技术[J].计算机与网络,2019.45(23):46-47

[3] 张茹茵.Excel在函数教学中的应用[J].电脑编程技巧与维护,2019.12:106-108

[4] 蔡小艳,卢莉娜,郑炎,朱成文.基于NPOI组件生成Excel报表的设计与实现[J].电脑知识与技术,2016.12(1):64-65

[5] 蔡小艳,李龙腾,葛玉,郑炎.基于C#的Excel数据导入导出研究与实现[J].智能计算机与应用,2014.4(5):83-85

[6] 郭文夷,姜存理.C#.NET框架高级编程技术案例教程[M].清华大学出版社,2014.

猜你喜欢
高校
提升高校官方微信公众平台传播效果的几点思考
中日高校本科生导师制的比较
试论高校党建工作中的党史教育
学研产模式下的医药英语人才培养研究
高校创新型人才培养制度的建设与思考
高校科研创新团队建设存在的问题及对策研究