本论文是一篇数据库方面有关硕士论文答辩ppt模板,关于一种基于ASP.NET的Excel报表导入与导出方法相关本科论文范文。免费优秀的关于数据库及管理系统及计算机网络方面论文范文资料,适合数据库论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要 :提出了一种基于ASP.NET应用和ADO.NET技术的Excel报表的导入与导出方法,并将其应用于继续教育管理系统中.在Excel报表数据的导入过程中,引入事务的概念,采用数据库加锁机制,保证了数据的一致性要求.使用Excel模板简化了大量编程操作,对于各类报表软件系统开发者而言,简单方便.
关 键 词 :ASP.NET;Excel报表;ADO.NET;数据导入;数据导出
中图分类号:TP301文献标识码:A文章编号:16727800(2012)008002902
基金项目:陕西省自然科学基金项目(2010JM8032);陕西省教育厅基金项目(2010JK772)
怎么写数据库本科毕业论文
播放:24719次 评论:6506人
这篇论文来源 http://www.sxsky.net/moban/425738.html
作者简介:李菲菲(1987-),男,西安石油大学计算机学院硕士研究生,研究方向为管理信息系统与计算机网络;刘天时(1960-),男,西安石油大学计算机学院教授,研究方向为管理信息系统、分布式数据库和计算机网络.1相关技术
1.1COM组件概述
在ASP.NET应用程序下创建Excel报表之前,需要在工程中添加一个COM组件.COM是组件对象模型,对外提供接口,每个接口代表某个对象的属性或方法,在应用程序中通过调用这些属性和方法来完成特定逻辑处理.
1.2COM组件添加
在使用COM组件之前,必须安装Office软件.添加COM组件引用的具体步骤如下:在解决方案资源管理器中添加引用,选中COM标签项,在列表中添加Microsoft Excel 11.0 Object Library(不同版本的Office COM组件会略有不同).
2Excel报表系统实现原理
Excel报表全部是由Cell单元格组成,因此格式的修改变得比较简单.客户端只要安装Office软件,就可以实现报表系统的开发.
Excel数据导入与导出操作属于Excel与数据库之间的交互,在数据交互过程中,.NET Framework通过ADO.NET提供数据访问功能.ADO.NET是应用程序和数据库之间的桥梁,为.NET平台下与多种数据源直接交互提供了统一的编程模型.
3Excel报表数据导入
Excel报表数据导入数据库是一个复杂的过程,需要进行多方面验证,主要进行了以下几方面验证,过程如下:①获取上传的文件;②根据上传文件的路径,获取文件后缀名,判断文件是否为Excel格式,如果是,转③,否则转至⑥;③获取数据源;④判断表头信息是否正确,如果正确,转⑤,否则转至⑥;⑤判断表格内容的合法性,即逐行对表格中每个单元格进行验证,如长度、格式等;⑥验证结束.
在应用程序中可以通过ADO.NET技术读取Excel文件,并引入如下函数来获取数据源:
Public static DataTable getExcelDataSourse (string excelPath){}
其中excelPath为要导入的Excel文件的绝对路径,使用office2003版本,其数据连接字符串为:
String connectString等于 "Provider等于Microsoft.Jet.Oledb.4.0,Data Source等于" +path+ ",Extended Properties等于Excel 8.0,"
Excel数据导入有效性验证见图1.
如果验证结果正确,开始数据导入,否则给予用户相应的提示信息.Excel数据导入Oracle数据库过程如下:①打开数据库连接;②验证Excel文件信息是否存在,在此过程中,需要对Excel表中的数据记录进行逐行检测;如果存在转向⑤;否则转至③;③获取Excel表格的数据记录,并将Excel的每行记录转换成一条SQL语句,保存到List集合中;④利用Oracle数据库的加锁机制,实现数据的批量导入;⑤关闭数据库连接;⑥导入结束.
有关论文范文主题研究: | 关于数据库的论文范文集 | 大学生适用: | 专升本毕业论文、硕士毕业论文 |
---|---|---|---|
相关参考文献下载数量: | 55 | 写作解决问题: | 怎么写 |
毕业论文开题报告: | 论文提纲、论文小结 | 职称论文适用: | 刊物发表、职称评副高 |
所属大学生专业类别: | 怎么写 | 论文题目推荐度: | 经典题目 |
图1Excel数据导入有效性验证
在本文中,引入事务的概念,用于防止多个用户访问数据库带来的数据不一致性(丢失修改、不可重复读和读“脏”数据),同时利用数据库的加锁机制,防止多个用户同时访问数据库产生的死锁现象.在本文中,引入如下函数:
public int ExecuteBatchNonQuerySql(string TableNames, List<string> SqlList){}
其中,TableNames表示要加锁的数据库表名集合,当要加锁的表不止一张时,各表之间用英文逗号隔开.当函数的返回值为1时,表示数据导入成功,否则数据导入失败(加锁失败或数据添加失败).通过以下语句完成数据库表的加锁:lock table TableNames in exclusive mode no wait,调用ADO.NET的Command.ExecuteNonQuery()函数,当返回值为0时,表示加锁成功,否则加锁失败.SqlList是SQL语句的集合,只要SqlList集合中有一条SQL语句执行失败,就执行事务回滚,不必执行其余的SQL序列,这样在某种程度上可以提高系统的效率,使用户提早发现错误,只有所有的SQL语句均执行成功才提交事务,从而实现了批量导入的完整性.
4Excel报表数据导出
4.1原始数据读取
报表是各类原始数据的汇总与统计,因此报表制作的首要步骤是获取原始数据.一般而言,数据源存放在Access、SQL Server、Oracle等关系型数据库中.在ASP.NET应用程序中,通过调用ADO.NET提供的类库进行数据访问操作,实现应用程序与各类数据库之间的交互.ADO.NET通过4个组件来实现数据库的访问,分别是Connection对象、Command对象、DataAdapter对象、DataSet对象.ADO.NET获取数据过程见图2.
图2ADO.NET获取数据过程
4.2实现技术
使用Excel模板导出数据,主要涉及到Microsoft.Office.Interop.Excel命名空间下的3个成员对象:Application对象、WorkBooks对象、WorkSheet对象.其中,Application对象为应用程