分享
 
 
 

在ASP.NET下用Microsoft Excel进行数据分析与报表

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

总述

在数据分析和生成报表方面,Excel是一款非常强大的工具。嵌入VB.NET里可以做在Excel下做的工作。在财务行业工作的人都知道不管怎样Excel已被广泛使用。在Excel下工作时,商业人员往往比开发人员更熟练地使用Excel。在很长一段时间,软件将向分布式计算和N层结构发展。过去,当数据被存储在Access数据库或一般文件中,我们会手工地将数据输入到Excel文件中并利用这些数据去做一些商业运作。在Internet自动化对象应用的今天,这篇文章聚焦于怎么得到最好的信息。

Excel and ASP.NET

Excel的自动化对象和用VB写Excel宏并不是本文的标题。在网上有很多网站和资源有这方面的资料。这篇文章仅讨论怎样在Internet环境(ASP.NET)下使用Excel。

目的

这篇文章的目的主要是介绍在ASP.NET下Excel的数据分析功能应用。本文将聚焦于怎样在internet上得到最好的Excel模板和快速地反应数据。

关于例子

本文大体上具有教育目的,在例子中的方法并不一定能直接用于实际的产品环境下。本文主旨在于揭示做ASP.NET和Excel时的一些方法和概念。

例1,Excel报表演示(输出HTML)[此文中源码]

安全

本文和例子是基于服务端Excel的自动化对象。这个方法有一些缺点和需要注意的地方。请查看本文“附加的源码”。如果Excel自动化对象没有被正确地用于当前的WEB服务器上,可能会得到WEB服务器不一致的状态。请注意这些地方,并尽量僻免。

关于Excel 2003的注意事项: Excel 2003有为支持DOTNET的较好的接口。在微软网站上有很多关于Excel 2003和DOTNET的文章。此文中也有些链接。如果你有Excel 2003,本文仅能帮你了解一些概念。

快速浏览

许多第三部分的资料库的帮助可能被建立为较好的在提供图解/曲线图或报表的Internet应用。在这个文章中提议的方法对那些已广泛使用Excel及报表的商业中。通过使用已有的Excel报表模板和通过Internet表现出来。主观地说,当没有更好的解决方案被开发出来,这个方法被当作快速解决方案考虑过。

例子 - Excel报表演示

本文提供的例子是跟据已有的Excel文件建立报表。这个例子也可以从Excelt生成饼图或3D列表图表。最后的报表可以生成为Excel或Html格式。

安装并运行下面的例子

·下载?362 KB) 并解压到本地。http://www.asp101.com/articles/jayram/exceldotnet/EXCEL_REPORTING_IN_ASPNET_SAMPLE.zip

·用IIS建立虚拟目录'ExcelReportDemo',同时把目录指向解压的文件夹。

·运行处执行"dcomcnfg.exe"[DCOM配置工具]

·你将看到 'Distributed COM Configuration Properties' 的窗口

·在'Applications'列表框中双击'Microsoft Excel Application'

·选择'Security'标签

·选择'Use Custom Access Permission'单选框,点‘Edit’按钮

·在'Registry Value Permissions'窗口中确定添加了本地'ASPNET'用户或是本机中能运行ASP.NET进程的用户。

·添加 ASPNET用户后点击OK

·选择'Use Custom Launch Permission'单选框,点‘Edit’按钮

·在'Registry Value Permissions'窗口中确定添加了本地'ASPNET'用户或是本机中能运行ASP.NET进程的用户。

注意:

DCOMCNFG.EXE工具是配置DCOM applications的。在这个例子中,ASP.NET用EXCEL自动化对象并调用Excel Application。通过缺省的本地'ASPNET'用户,特有的ASP.NET进程(并不是扮演被使用的.net的角色)。因此,赋予正确的登录DCOM 'Microsoft Excel Application' 权限给ASPNET用户是很重要的。否则,运行这个例子后,当Excel Application对象被调用时,会抛出'Access Denied'的异常。

软件环境需求:

·Excel 2000 (Version 9.0) [如果你有 Excel 2002 (Version 10.0),请查看例子中的注释部分。

·ASP.NET / .net Framework [Version 1.0或以上版本]

例子的操作流程:

·商业用户把用作报表的Excel电子数据表的复本给开发人员。

·在商业用户的帮助下,开发者排除所有对Excel文件直接的访问再通过Excel文件里的工作表数据驱动报表

·开发者把这个议论放于'ExcelReportDemo'项目的'ReportTemplates'目录下。

·理解了数据源后,开发者查询运行时的数据,并把静态数据代替实际数据的Excel工作表

·excel让我们在工作中得到休息

·如果终端用户请示HTML格式,Excel输出界面挥糜谏蒆TML格式的报表

例子中用到的技术

·ASP.NET用Excel自动化对象调用Excel

·从简单的XML文件读出数据装载。实事上数据可以来自于SQL SERVER或ORACLE数据库。

·自从Excel 2002被用于这个例子,数据集被逐列地复制到Excel。这种被认为是很简单元方法,在传输数据方面是个很有效的方法。

·通过Excel自动化对象是可以访问图表对象和改变图表的所有属性。这个例子并没有用Excel自动化对象去做扩展。

例2:Excel报表演示 - 显示报表请示页面

测试例子: (例2显示报表请示页面)

·在测试例子前,请按照这个列子的安装说明检查。

·把地址http://localhost/ExcelReportDemo/RunReports.aspx输入到地址栏。

·选择'Report Format' [Excel 或 HTML]

·点按钮'Run Report'运行报表

·点按钮'Additional Resources',显示描述服务端自动化对象的附加源码和Excel程序。

·例显示简单的HTML格式报表。

产生临时文件

报表被请求时,这个例子将生成几个临时文件。简单的代码不能与任何自动清理script代码一起进行。请手工删除或编写WMI scripts代码或.bat文件.这些代码或文件不能被WINDOWS调度程序调度去进行自动清理工作。这个代码或文章不能用于简单的部分。

感谢

我要感谢我的夫人Sheela Tallamraju帮助编辑此文。我也要感谢支持我写此文件的Tom Montgomery和Praveen Ray。

附加的资源:

·服务端自动化对象的注意事项 http://support.microsoft.com/default.aspx?scid=kb;en-us;Q257757

·服务端图表 http://support.microsoft.com/default.aspx?scid=kb;EN-US;244049

·来自ADO/ASP的Excel数据 http://support.microsoft.com/default.aspx?scid=kb;EN-US;244049

·WEb页面上操作工作表的函数 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexcl2k/html/webfunc.asp

·Office Web组件应用例子http://support.microsoft.com/default.aspx?scid=kb;EN-US;258187

·服务端Office web组件的限制 http://support.microsoft.com/default.aspx?scid=kb;EN-US;317316

·ADO.net和EXCEL (2003) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_wrcore/html/wrwlkusingadonettoexchangedatawithdatabase.asp

关于作者

Jayram Tallamraju 是一位软件构架师,在波士顿为Bisys Hedge Fund工作的系统分析员,和文件硕士。他是.net MCP(微软认证专家), MCSD(微软认证解决方案开发专家)和SCJD(Sun认证Java开发专家).他还获得电子学硕士,在软件待业工作了十年。他曾主攻构建服务体系和构建可重复使用的商业组件。现在,他的研究领域是微软的技术,有.NET, C#, Web services, ASP.NET, VC++/VB, COM/DCOM, ASP/IIS.

Email: tjayram@yahoo.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有