中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > COM技术
关于CellWeb插件中文件打开、上传、以及导入数据库中的问题
作者:未知 时间:2005-07-20 14:21 出处:VC知识库 责编:chinaitpower
              摘要:关于CellWeb插件中文件打开、上传、以及导入数据库中的问题

关于CellWeb插件中文件打开、上传、以及导入数据库中的问题

作者:用友华表

下载示例源代码

关键字:

Request,BinaryRead,CreateObject,ADODB.Connection,ADODB.Recordset,ADODB.Stream,SaveToFile,AppendChunk,CellWeb,OpenFile,Uploadfile

引言:

用友华表CellWeb插件在提供强大的报表功能的同时,在数据于服务器与客户端之间的传送上也具有很强的功能,为开发者提供有效便利的操作平台。下面实例实现了打开服务器端或本地文件,自动上传cell文件并保存于服务器端的Access数据库中或者指定目录中,可以在WEB环境下实现类似单机环境下操作文件的效果。

正文:(本文以ASP ,VbScript,Access数据库为例)

用友华表CellWeb插件提供了两个方法:

  • OpenFile
  • UploadFile

客户端利用插件的 OpenFile 方法可以打开本地的或服务器端的华表文件。

客户端利用插件的 UploadFile 方法可以把客户端编辑好的华表文件上传到服务器端,服务器端读取上传的华表文件的二进制流,可以把它保存到数据库的二进制字段中,也可以保存到服务器端指定的目录下。这样就可以实现客户端与服务器的交互了。

客户端示例代码:

通过插件的 OpenFile , UploadFile方法实现文件操作

<SCRIPT LANGUAGE=vbscript>
<!--
''''打开文件对话框,选择文件
Sub button1_onclick
    CellWeb1.OpenFile "","" 
End Sub

''''把文件上传给服务器,服务器端HBUpload.asp进行处理
Sub button2_onclick
    CellWeb1.UploadFile "HBUpload.asp"
End Sub

''''打开服务器端虚拟根目录下*.cll文件
Sub button3_onclick
    CellWeb1.OpenFile "HBUpload.cll", ""
End Sub
-->
</SCRIPT> 
服务器端代码:

下面是服务器端的 HBUpload.asp 的实现代码:

<% 

Const adTypeBinary = 1
const adSaveCreateOverWrite = 2

''''当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了End方法后,服务器才将响应发送给客户端 
Response.Buffer = true 

''''接收客户发来的文件流
UpFile=Request.BinaryRead(Request.TotalBytes)

''''***************************************************************************
'''' 保存到数据库中
''''***************************************************************************
''''建立与access数据库的连接 
Set objConn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("HBUpload.MDB")

objConn.Open ConnStr

''''打开OLE字段,将数据写入数据库 
Set objRs = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM HBUpload WHERE(CELLFILE is null)"
objRs.Open strSQL, objConn, 1, 3
objRs.AddNew
objRs("CELLFILE").AppendChunk(UpFile)
objRs.Update
objRs.Close
objConn.Close
Set objRs = Nothing
Set objConn = Nothing

''''********************************************
''''保存到磁盘文件,通过流将数据保存成文件
''''********************************************
Set objStream=Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type=adTypeBinary
objStream.Write UpFile
objStream.SaveToFile Server.MapPath("HBUpload.cll"), adSaveCreateOverWrite
objStream.Close
Set objStream = Nothing
%>

以上服务器端代码并未考虑是否第一次保存,如果是的话,那么在数据库中新建一个记录保存上传的文件,如果不是第一次保存,那么应该是修改以前保存的记录。

总结:

本文简单的介绍了用友华表CellWeb插件的 OpenFile 与 UploadFile 方法实现文件在客户与服务器之间操作,通过二进制流实现与数据库间的存取,希望对你的工作有所帮助。 系统要求 :

  • CellWeb 插件:5.1.4.510及以上的版本。

  • ADO:2.5及以上的版本。

示例代码:

为了更生动地说明以上方法的效果,这里给出一个范例源代码。范例源码可从 这里 下载。

最新版Cell控件试用版从 这里 下载。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有