基于C#的批量表格合并系统设计与实现

2022-02-21 10:42刘仕华
微型电脑应用 2022年1期
关键词:汇总表批量工作量

刘仕华

(滇西科技师范学院,智能与信息工程学院,云南,临沧 677000)

0 引言

Microsoft Office Excel是款非常有用的软件,能够为人们做很多事情[1],Excel是Office的重要组成,是保存统计数据的常用软件格式之一[2]。随着办公自动化的普及,Excel软件凭借其强大的数据处理功能,被广泛应用于各行各业[3],特别在高校日常的办公中,经常需要对多个Excel表格进行合并,传统的Excel文件合并方法有着工作量大、耗时多、易出错等弊端。故为了减少高校管理部门办公人员的工作量,提高办事效率[4],简化Excel文件合并的复杂操作,开发批量Excel表格合并系统具有重要意义。C#作为面向对象开发的基础语言,具有较强的开发操作性[5],能够提高软件开发的效率。

本文以高校管理部门收集的各院系填报的Excel数据合并为例,在日常工作中,高校管理部门需要频繁的将各院系报送的Excel表格进行合并汇总,以便用于下一步工作。

1 传统的Excel文件合并

以高校日常Excel表格数据合并为例,传统手工方式的Excel表格合并流程如下:①创建一个新的Excel汇总表格;②打开相应院系报送的Excel表格;③复制相应院系报送的Excel表格数据到汇总表中;④已汇总数据格式处理;⑤保存汇总表。以上第二至第四项流程循环操作,直到所有院系报送的数据都已复制到汇总表中。传统的Excel表格合并流程如图1。

图1 传统的Excel表格合并流程图

这种传统的Excel表格合并方法仅适用于需要合并的Excel表格较少且需复制数据较少的情况下,如果需要合并的Excel表格较多且需汇总数据较多,工作量将变得相当大且耗时多、易出错。

2 系统设计与实现

2.1 系统流程设计

批量Excel表格合并系统的流程如图2所示:①批量导入需要合并的Excel表格;②选择需要合并的工作表;③Excel表格合并。其中,批量合并后的数据格式无需再次处理,由系统自动进行处理。

图2 批量Excel表格合并系统流程图

2.2 系统实现

Excel表格合并系统主要用于将多个Excel表格进行合并,点击“浏览”,找到需要批量合并的文件夹,使用“CTRL+A”全选或者使用“CTRL+鼠标左键”多选,然后可根据具体情况选择相应Excel文件需要合并的相应工作表,最后点击“开始合并表”,系统将对所选的多个Excel表格数据进行合并,合并后的所有数据将会显示到一个DataGridView表格中,点击“导出数据”,选择并输入导出的文件名,即可将合并的所有数据导出到Excel表格中。需要合并的Excel表格示例如图3所示。Excel表格合并系统的界面如图4所示。

图3 需要合并的Excel表格示例

图4 Excel表格合并系统界面

2.2.1 读取Excel表格

点击“浏览”按钮,找到需要批量合并的Excel表格文件夹,使用“CTRL+A”全选或者使用“CTRL+鼠标左键”多选需要合并的Excel表格,系统将会自动循环读取所选的Excel表格,并动态的将所选每个Excel表格所有的工作表显示到下拉框中,然后可根据具体情况选择相应Excel文件需要合并的相应工作表。

读取Excel表格的核心代码如下。

strCon =" Provider =Microsoft.Jet.OLEDB.4.0 ;Data Source =" + @inputFileName + ";Extended Properties=Excel 8.0";

string FileType =inputFileName.Substring(inputFileName.LastIndexOf("."));

if (FileType ==".xlsx")

{

strCon ="Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + @inputFileName + ";" + ";Extended Properties="Excel 12.0;HDR=YES;IMEX=1"";

}

myConn =new OleDbConnection(strCon);

myConn.Open();

myCommand =new OleDbDataAdapter(strCom,myConn);

ds =new DataSet();

myCommand.Fill(ds,"table1"+j);

dt[j] =ds.Tables[0]。

2.2.2 批量Excel表格合并

点击“开始合并表”按钮,系统将对所选的多个Excel表格数据进行循环合并,合并后的所有数据将会显示到一个DataGridView表格中,以便查看。

批量Excel表格合并的核心代码如下。

//存放合并数据

DataTable newDataTable =dt[0].Clone();

//循环合并数据

for (int i =0;i

{

newDataTable.Merge(dt[i]);

}

//去除空行数据

removeEmptyRow(newDataTable);

//显示合并数据并添加序号

dataGridView1.DataSource =newDataTable;

for (int i =0;i

{

dataGridView1.Rows[i].HeaderCell.Value =(i + 1).ToString();

}

2.2.3 导出Excel表格

点击“导出数据”按钮,选择导出文件的存放路径,然后输入导出的汇总Excel表格文件名,点击确定后即可将合并的所有数据导出。本系统所使用的导出功能采用了NPOI,NPOI是POI(POI是一个开源的Java读写Excel、Word等微软OLE2组件文档的项目)项目的.Net版本[6],可以直接将DataGridView中的数据导出到Excel中。

3 总结

本文应用C#编程语言,设计和实现了批量Excel表格合并系统,大幅度减少了高校管理部门合并多个Excel表格的工作量,提高了工作效率,为高校的各项管理工作提供了较强的技术支持。

猜你喜欢
汇总表批量工作量
嵌入式系统软件工作量多源线性估算方法仿真
批量精装房项目工程信息管理综述
云南:铁路“520”运输鲜花4万余件 高铁批量运输创新高
批量提交在配置分发中的应用
2019年9月基本型乘用车(轿车)生产汇总表
2019年3月基本型乘用车(轿车)销售汇总表
2019年1月基本型乘用车(轿车)销售汇总表
思科发布云计算市场发展报告
实验室工位考勤管理软件设计
2014年11月基本型乘用车(轿车)销售汇总表