搜档网
当前位置:搜档网 › 基于C#的Excel数据导入导出SQLServer的研究与实现[权威资料]

基于C#的Excel数据导入导出SQLServer的研究与实现[权威资料]

基于C#的Excel数据导入导出SQLServer的研究与实现[权威资料]
基于C#的Excel数据导入导出SQLServer的研究与实现[权威资料]

基于C#的Excel数据导入导出SQLServer的研究与实现

[权威资料]

基于C#的Excel数据导入导出SQL Server的研究与

实现

摘要:在排球成绩测评系统实际应用中,导入学生信息和导出学生成绩是提高数据录入速度和快速输出的有效途径。本文详细介绍了使用C#语言、采用SqlBulkCopy类将Excel数据表导入到SQL Server数据库,以及将数据库中的数据导出到Excel数据表中的方法。

关键词:C# Excel SQL Server 导入导出

1 概述

Excel是办公中常用的电子表格处理工具,SQL Server是目前流行的数据库管理系统,均在信息系统中被广泛使用[1,2]。基于安全性、通用性和共享性等考虑,信息系统一般都会给用户提供借助Excel进行数据导入导出数据库的功能[3,4]。排球成绩测评系统中的学生信息可以逐个添加,也可以按班级从Excel中整体导入;系统中的班级成绩信息、不及格成绩信息需要导出到Excel中。本文介绍在.Net环境下,使用C#编程实现排球成绩测评系统中Excel数据与SQL Server 2005数据库中数据的导入导出。

2 导入数据

2.1 SqlBulkCopy类导入数据需要使用

SqlBulkCopy类。SqlBulkCopy类提供了一种将其它源的数据批量复制到Sql Server数据库表中高性能的方法。SqlBulkCopy 包含可以重载的方法WriteToServer,它用来从其它数据的源复制数据到数据的目的地。WriteToServer 方法可以处理的数据类型有DataRow[]数组、DataTable和DataReader,可以根据

具体情况使用相应的数据类型。SqlBulkCopy复制数据的原理是采用SQL Server

提供的bcp命令提示符实用工具进行数据的批量复制。bcp在SQL Server实例和数据文件之间以用户指定的格式复制数据[5,6]。

2.2 实现学生信息按班级批量导入学生信息添加窗口如图1(a)所示。需要先选定班级,再为该班级批量导入学生。

2.2.1 导入按钮Click函数在学生信息添加对话框中单击导入按钮,则调用btn_Import_Click()函数。该函数首先判定班级编号是否为空,为空则弹出对话框提示班级相关信息不能为空,否则给定链接字符串,调用“打开文件”对话框,并获取导入的Excel文件名,确定后调用导入函数TransferData()。导入学生信息后调用班级人数信息函数classNumberInfo()更新班级人数。主要实现代码如下:

2.2.2 导入函数TransferData() 导入函数有三个参数,分别是导入的Excel

文件名、导入的Excel工作表名和链接字符串。导入函数实现步骤如下: 首先获取全部数据。导入函数从Excel工作表中获取全部数据,并放入DataSet中。主要实现代码如下:

接着检查数据格式。导入函数使用

ds.Tables[0].Columns.Count对放入DataSet中的数据进行列数等信息的检查。当数据格式不符合要求就弹出对话框进行提示。

最后导入数据。当数据格式正确,导入函数进行列的添加和数据的复制。数据表t_student有四个字段,分别为学号、姓名、性别和班级编号。而需要导入的Excel工作表Sheet1只有学号、姓名和性别三个字段。为了字段对应,为DataSet 中的Tables[0]添加一列,该列存放导入学生所在班级的编号信息。接着使用SqlBulkCopy类的构造函数SqlBulkCopy(connectionString)创建一个新的对象bcp。然后用bcp的WriteToServer()函数,把DataSet中Tables[0]中的数据一次复制到已经存在的目标表t_student

中,实现数据的导入。学生信息导入后如图2(b)所示。用bcp导入数据代码如下:

3 导出数据

把班级成绩信息从SQL Server数据库中查询出来并显示在DataGridview中,如图3所示。班级成绩导出可以通过单击图2上的“导出成绩”按钮完成,导出结果如图3所示。

单击“导出成绩”按钮调用button_cjdc_Click()函数,该函数调用导出函数ExportDataGridview()。导出函数先对DataGridview的行数进行判断,若行数为零则退出,否则导出DataGridview中的数据到Excel工作表Sheet1中。导出数据先建立Excel对象,然后根据DataGridview中的列生成Excel表中的字段,最后逐行把DataGridview中的数据填充到Excel工作表中去,实现数据导出。

4 结束语

批量的导入导出数据能够提高用户的工作效率。本文论述了在排球成绩测评系统中,导入Excel工作表中的学生信息到SQL Server数据库表中,以及导出成绩信息到Excel工作表中。该方法具有较强的通用性,有一定的实际应用价值。

参考文献:

[1]魏文胜.Excel与SQLServer数据的相互转换之方法[J].电脑知识与技术,2007(10):892.

[2]张丽英.基于.NET的Excel数据批量导入SQL Server的设计与实现[J].南通纺织职业技术学院学报,2012,12(1):7-10.

[3]尹帮治.基于VC,的Excel表格与SQL Server数据库的批量数据导入导出技术研究[J].企业技术开发,2008,27(8):13-16.

[4]游向峰.基于https://www.sodocs.net/doc/fc13867154.html,的SQL与EXCEL数据互导的研究与实现[J].电脑知识与技术,2010(11):8953.

[5]唐红亮.SQL Server数据库设计与系统开发教程[M].北京:清华大学出版社,2007.

[6]杨湖,李风蕾等.SQL Server 2005数据库系统开发案例精选[M].北京:人民邮电出版社,2007.

基金项目:陕西省教育科学“十一五”规划课题:SGH10066;咸阳师范学院项目:200812013,11XSYK210;陕西省教育厅项目:09JK811。

作者简介:

刘小豫(1978-),女,陕西咸阳人,讲师,硕士,研究方向:图像处理和信息系统开发。赵蔷(1971-),女,陕西咸阳人,副教授,硕士。研究方向:软件工程和图形图像处理。

文档资料:基于C#的Excel数据导入导出SQL Server的研究与实现完整下载完整阅读全文下载全文阅读免费阅读及下载

阅读相关文档:我国A股制造业上市公司财务风险分析刍议煤矿生产中的调度工作高校图书馆质量管理浅析国际赛制灭火机器人设计与实现广西民居消费结构变动对环境影响分析瑞典多维度廉政建设经验及其启示浅谈多媒体在语文教学中的作用浅谈创新型教学方式在英语教学中的作用小学思想品德课中如何实施创新教育输配电线路的可靠性影响因素和维护措施研究浅谈建筑工程施工质量问题及治理措施初中数学概念课堂教学探究浅谈小学数学个性化练习设计的策略直属学习中心发展模式创新性研究浅谈腹部包块的内科诊断“惩创”的“创”读音拙见嵌入式C语言实验教学方法探讨影响学生英语听力理解的几个因素感谢你的阅读和下载

*资源、信息来源于网络。本文若侵犯了您的权益,请留言或者发站内信息。我将尽快删除。*

相关主题