提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2012-01-04 21:12:26.000|阅读 896 次
概述:本文采用第三方Aspose组件技术实现了Excel文件与数据库之间的数据导入,导出交换功能。通过这样的交换技术,可以以Excel作为数据交换中介,能很方便实现不同数据库,不同系统之间的数据交换。因此,该技术在现代信息管理系统中有着十分重要的意义。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
一、引言
随着互联网和计算机软件的不断发展, 基于B/S 结构比传统C/S结构有着很多优点,因而越来越受到人们的青睐。其优点包括系统维护升级方便,客户端无需安装软件等等。因此,各种各样的基于B/S结构的 软件如企业信息管理系统、电子商务服务系统等被广泛使用。由于微软办公系统Excel电子表格软件有着强大的数据处理能力,很多企业,单位都会选择其作为 业务数据存取,查询工具。因此,在企业的信息管理系统中,通常需要对Excel文件和数据库进行数据交换。即业务数据需要导入现有企业使用的B/S架构系 统中,或从现有系统中导出数据到Excel表格。这种数据导入导出工作非常繁琐,而且处理效率也不高[1-2]。本文为使数据导入,导出方便,采用第三方 Aspose软件实现了Excel与数据库进行数据交换,即从数据库导出Excel,或将Excel数据导入数据库。文中采用 Asp.Net,SQLServer 2000技术,讨论数据交换的主要技术以及其实现方法。
二、数据导入技术以及其实现
Aspose是一个功能十分强大的第三方控件,可以用来操作word,excel,ppt等文件,用这个控件来导入、导出数据非常方便。目 前,Aspose支持的语言有.NET,Java等。Aspose.Cells是操作微软Excel电子表格中的组件。该组件除支持电子表格生成和其他基 本文件格式的功能外,还支持一系列先进的功能,包括允许从不同的数据源导入到电子表格中,或添加常见和复杂的数学,日期,财务,文字公式等功能。同时也支 持图表,图片,评论,图形对象和控制等操作。
将Excel文件导到数据库的一般步骤如下:使用B/S系统提供的文件上传功能,把文件上传到服 务器,再由Aspose.Cells控件对Excel进行操纵,把数据导入到数据库。本文以SQL Server 2000为例,详细说明数据导入整个过程。在使用Aspose组件时,首先需要在VS工程文件引入Aspose.Cells.dll动态类[3]。并在使 用该组件的文件导入如下包:
using Aspose.Cells;
//以下代码实现将Excel文件上传到服务器
string filePath = Server.MapPath("/uploads/");
fUpload.PostedFile.SaveAs(filePath+fUpload.FileName);
//以下代码使用Aspose技术实现从磁盘中读入Excel表格
//创建一个工作簿对象,并使用Excel文件路径打开一个Excel文件
Workbook workbook = new Workbook();
workbook.Open(filePath+ fUpload.FileName);
//取得指向sheet0的Worksheet对象
Worksheet worksheet = workbook.Worksheets[0];
Cells cells = worksheet.Cells;
//循环读取所有行,并读取Excel文件中的每一列。在这里可以实现不同数据格式的转换
for (int i = 0; i < cells.Rows.Count; i++)
{
string name= cells[i, 0].Value.Tostring();
string sex=cells[i,1].Value.Tostring();
If(sex==”1”) //数据格式转换以实现数据迁移
sex=“男”;
else
sex=”女”;
…
}
//以下代码实现把从Excel表读取到的数据存入SQLServer 2000数据库中。
SqlConnection conn = new SqlConnection();//创建连接对象
conn.ConnectionString = ConfigurationManager.AppSettings ["sqlcon"]; //sqlconn为web.config连接数据库串
conn.Open();//打开数据库
SqlCommand cmd = new SqlCommand("insert users into values(name, sex,…. ", conn);
cmd.ExecuteNonQuery();
conn.Close();//关闭数据库
三、数据导出技术以及其实现
在实际的应用中,有时还需将数据从数据库导出到Excel表格,以供业务人员在Excel表中根据业务需要实现数据汇总,查询,处理等操作。
//下面从数据库读取需要导出的数据
string conn = ConfigurationManager.AppSettings["sqlcon"];
DataSet ds= new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(select * from users", conn);
adapter.Fill(ds);
//以下利用Apose.Cells组件将从数据库中查询的数据导出到Excel表格中,并保存在指定的路径。
Workbook workbook = new Workbook();
workbook.Open(Server.MapPath("/uploads/"+fileName)//导入数据后存放文件名
Worksheet sheet = workbook.Worksheets[0];
sheet.Cells.ImportDataTable(ds.Tables[0], false, 0, 0);
while(workbook.Worksheets.Count>1)workbook.Worksheets.RemoveAt(workbook.Worksheets.Count - 1);
//装Excel表保存到磁盘中去
workbook.Save(Server.MapPath("/uploads/"+fileName);
//利用Asp.net技术,提供excel文件让用户下载
Response.Redirect("/uploads/" + fileName);
四、结束语
本文采用第三方Aspose组件技术实现了Excel文件与数据库之间的数据导入,导出交换功能。通过这样的交换技术,可以以Excel作为数据交换中介,能很方便实现不同数据库,不同系统之间的数据交换。因此,该技术在现代信息管理系统中有着十分重要的意义。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢