您的位置:首页 > 其它

蛙蛙推荐:利用OWC创建图表的完美解决方案

2005-08-24 14:19 381 查看
蛙蛙推荐:利用OWC创建图表的完美解决方案

摘要:因为公司一个项目需要动态生成图表,所以我就想到了OWC,一般我们都是把数据传送到客户端,然后利用客户浏览器的OWC Activex控件来显示图表,但是这样的缺点是需要在客户端部署这个dll。我这里演示的是在服务段生成图表图片,然后输出显示到浏览器后自动删除临时图片。我在对OWC构建报表的代码里做了很多详细的注释,几乎OWC常用的功能都涉及到了,也许能帮助你更多的了解一下OWC。示例中用的nwind.mdb数据库,如过你装了office或者vb6的话,在它们的安装目录里可以找到。这里有个技巧就是怎么用客户端的JS执行服务段的方法。我现在正在把这个示例移植到我正在开发的一个CRM系统上。

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> owc图表 </TITLE>
</SCRIPT>
</HEAD>
<BODY>
<img src="<%= m_sFilePath %>" onload="delimg(this.src)">
</BODY>
</HTML>

小结:关于更多的OWC的介绍就不写了,如果安装了office的话,搜索一下office的目录会找到OWC手册的,其实网上流行的好多OWC显示的图表的方案,有的是在一个目录里生成临时图片,然后在session_end里删除这些图片,但是session_end触发的时间不确定,也不可靠。而有的是生成临时图片后把图片加载到一个内存流里,然后把流以gif方式输出,随后删除临时图片。总之都是为了及时删除临时图片,我这个用的是xmlhttp执行服务器方法来达到同样目的的,代码很少,而且也很方便。

代码下载:
http://files.cnblogs.com/onlytiancai/owcchart.rar
其它说明:
如果你禁止了FSO,注册FSO组件的方法如下
regsvr32.exe scrrun.dll
另外注意一下OWC组件的版本,一般在C:\WINDOWS\system32目录下有个MSOWC.DLL,它可以单独部署。
XmlHttp异步获取网站数据的例子
http://www.52z.com/info/ArticleView/2004-11-7/Article_View_35764.Htm
利用OWC服务器端组件动态生成图表
http://www.daima.com.cn/Info/4/Info26297/
客户端回调
http://gigabyte.cnblogs.com/archive/2004/09/07/40633.aspx
如何查找 Office Web 组件 (OWC) 编程文档和示例
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;319793
HOW TO:在 Visual Basic .NET 中处理 Windows 窗体中的 Office XP 电子表格组件的事件
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;319342
HOW TO:在 Visual C# .NET 中处理 Windows 窗体中 Office XP 电子表格组件的事件
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;319341
HOW TO:在 Visual Studio .NET 中处理 Office 2003 Web 组件的事件
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;823982
Office 2003 安装程序删除了 Office 2000 Web 组件
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;831590
如何在 Office 2003 程序中部署 Office 2003 Web Components
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;828950
Microsoft Office 2000 Web 组件基础
http://www.microsoft.com/china/MSDN/library/archives/library/techart/msowcBasics.asp
INFO:使用 Visual Studio .NET 开发 Microsoft Office 解决方案
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;311452
在 Access 2002 中进行 Web 开发
http://www.microsoft.com/china/MSDN/library/archives/library/DNAcc2k2/html/odc_adap.asp
在 Microsoft Access 2002 中对数据透视表进行编程
http://www.microsoft.com/china/msdn/archives/library/dnacc2k2/html/odc_acprogpvt.asp

为了简单起见,我用VBS和ASP来演示OWC对象的一些操作,在.NET下面这些属性是不变的,只要引用一下MSOWC.DLL就可以操作了,而且有智能感知可用.文章把重点放在演示思路上了.

我又改进了一下代码,生成的图片是用guid做名称的,保证在并发请求的时候不会误删别人正在查看的图片,而且还加了一些关于OWC编程的链接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: