⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cell.html

📁 基于用友公司的webReport报表开发的上传报表数据的例子源代码。
💻 HTML
字号:
<!-- saved from url=(0022)http://internet.e-mail -->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<TITLE>关于CellWeb插件中文件打开、上传、以及导入数据库中的问题</TITLE>

<style>
<!--
p            { font-size: 16px }
-->
</style>

</HEAD>
<BODY leftmargin=0 topmargin=0>
<div style="background-color: #99CCFF; border-bottom: 1 solid #C0C0C0;">
<p align=left>Cell 组件/插件</p>     
<p align=left style="margin:0"><b>关于CellWeb插件中文件打开、上传、以及导入数据库中的问题</b></p>
</div>

<h4>关键字: </h4>
<P 
align=left>Request,BinaryRead,CreateObject,ADODB.Connection,ADODB.Recordset,ADODB.Stream,SaveToFile,AppendChunk,CellWeb,OpenFile,Uploadfile </P>  
<h4>引言:</h4>
<P 
align=left>用友华表CellWeb插件在提供强大的报表功能的同时,在数据于服务器与客户端之间的传送上也具有很强的功能,为开发者提供有效便利的操作平台。下面实例实现了打开服务器端或本地文件,自动上传cell文件并保存于服务器端的Access数据库中或者指定目录中,可以在WEB环境下实现类似单机环境下操作文件的效果。 
</P>
<h4>正文:(本文以ASP ,VbScript,Access数据库为例)</h4>           
<P align=left>用友华表CellWeb插件提供了两个方法:</P> 
<menu>
  <li><b> 
OpenFile</b></li>
  <li><b>UploadFile</b></li>
</menu>
<P align=left>客户端利用插件的 OpenFile         
方法可以打开本地的或服务器端的华表文件。</P> 
<P align=left>客户端利用插件的 UploadFile         
方法可以把客户端编辑好的华表文件上传到服务器端,服务器端读取上传的华表文件的二进制流,可以把它保存到数据库的二进制字段中,也可以保存到服务器端指定的目录下。这样就可以实现客户端与服务器的交互了。</P> 
<P align=left> </P> 
<h5>客户端示例代码:</h5>
<P align=left>通过插件的 OpenFile , UploadFile方法实现文件操作 </P>            
<blockquote>
<P><code><font color="#000080">&lt;SCRIPT LANGUAGE=vbscript><br> 
&lt;!--<br>
</font><font color="#008000">'打开文件对话框,选择文件</font><font color="#000080"><br>
Sub button1_onclick<br> 
&nbsp;&nbsp;&nbsp; CellWeb1.OpenFile "",""&nbsp;<br>
End Sub<br> 
<br>
</font><font color="#008000">'把文件上传给服务器,服务器端HBUpload.asp进行处理</font><font color="#000080"><br>
Sub button2_onclick<br> 
&nbsp;&nbsp;&nbsp; CellWeb1.UploadFile "HBUpload.asp"<br> 
End Sub<br> 
<br>
</font><font color="#008000">'打开服务器端虚拟根目录下*.cll文件</font><font color="#000080"><br>
Sub button3_onclick<br> 
&nbsp;&nbsp;&nbsp; CellWeb1.OpenFile "HBUpload.cll", ""<br> 
End Sub<br> 
--><br>
&lt;/SCRIPT></font></code> </P>
</blockquote>
<h5>服务器端代码: </h5>
<P align=left>下面是服务器端的 HBUpload.asp 的实现代码: </P>       
<blockquote>
<P align=left><code><font color="#000080"><span style="background-color: #FFFF00">&lt;%&nbsp;</span><br>
<br>
    Const adTypeBinary = 1<br> 
    const adSaveCreateOverWrite = 2<br> 
<br>
</font><font color="#008000">      '当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了End方法后,服务器才将响应发送给客户端&nbsp;<br>
</font><font color="#000080">    Response.Buffer = true&nbsp;<br>
<br>
    '接收客户发来的文件流<br>
UpFile=Request.BinaryRead(Request.TotalBytes)<br>
<br>
</font><font color="#008000">	'***************************************************************************<br>
    '                              保存到数据库中<br> 
    '***************************************************************************<br>
    '建立与access数据库的连接&nbsp;<br>
</font><font color="#000080">    Set objConn = Server.CreateObject("ADODB.Connection")<br> 
    ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; Server.MapPath("HBUpload.MDB")<br> 
<br>
    objConn.Open ConnStr<br> 
<br>
</font><font color="#008000">	'打开OLE字段,将数据写入数据库&nbsp;<br>
</font><font color="#000080">	Set objRs = Server.CreateObject("ADODB.Recordset")<br> 
	strSQL = "SELECT * FROM HBUpload WHERE(CELLFILE is null)"<br> 
	objRs.Open strSQL, objConn, 1, 3<br> 
	objRs.AddNew<br>
	objRs("CELLFILE").AppendChunk(UpFile)<br>
	objRs.Update<br>
	objRs.Close<br>
	objConn.Close<br>
	Set objRs = Nothing<br> 
	Set objConn = Nothing<br> 
<br>
</font><font color="#008000">    '********************************************<br>
    '保存到磁盘文件,通过流将数据保存成文件<br>
    '********************************************<br>
</font><font color="#000080">    Set objStream=Server.CreateObject("ADODB.Stream")<br> 
    objStream.Open<br>
    objStream.Type=adTypeBinary<br>
    objStream.Write UpFile<br> 
    objStream.SaveToFile  Server.MapPath("HBUpload.cll"), adSaveCreateOverWrite<br> 
    objStream.Close<br>
    Set objStream = Nothing<br> 
<br>
<span style="background-color: #FFFF00">%></span></font></code> </P>       
</blockquote>
<p>以上服务器端代码并未考虑是否第一次保存,如果是的话,那么在数据库中新建一个记录保存上传的文件,如果不是第一次保存,那么应该是修改以前保存的记录。<br>
</p>
<h4>总结:</h4>
<P align=left>本文简单的介绍了用友华表CellWeb插件的 OpenFile         
与 UploadFile 方法实现文件在客户与服务器之间操作,通过二进制流实现与数据库间的存取,希望对你的工作有所帮助。<STRONG>&nbsp;         
</STRONG>  

<h4 align=left><strong>系统要求</strong><strong>:</strong></h4> 

<ul>
  <li>
    <p align="left">CellWeb 插件:5.1.4.510及以上的版本。</li>     
  <li>
    <p align="left">ADO:2.5及以上的版本。</li>
</ul>
    <h4 align="left">示例代码:</h4>
<p align="left">为了更生动地说明以上方法的效果,这里给出一个范例源代码。范例源码可从<a href="http://www.cellsoft.cc/ufhbsite/demo/HBUpload.zip">这里</a>下载。<p align="left">最新版Cell控件试用版从<a href="http://www.cellsoft.cc/ufhbsite/demo/cell50_cn.exe"><font color="#0000ff"><u>这里</u></font></a>下载。<br>
    <p align="left"> 
<div>
  <hr>
  <p><a href="mailto:bhbsupport@ufsoft.com.cn">将文档反馈发送给 北京用友华表软件技术有限公司</a></p> 
  <!--Copyright-->
  <p>&copy; 2004 北京用友华表软件技术有限公司。保留所有权利。</p>      
</div>
<!--结束页脚-->

</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -