ASP导出Excel数据的四种方法
来源: aspsky 作者: tonny
一、使用OWC
什么是OWC?
OWC是Office Web Compent的缩写,即Microsoft的Office Web组件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如IE5和Office 2000),那么就有能力利用Office Web组件提供一个交互式图形开发环境。这种模式下,客户端工作站将在整个任务中分担很大的比重。
<%Option Explicit
Class ExcelGen
Private objSpreadsheet
Private iColOffset
Private iRowOffset
Sub Class_Initialize()
Set objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")
iRowOffset = 2
iColOffset = 2
End Sub
Sub Class_Terminate()
Set objSpreadsheet = Nothing 'Clean up
End Sub
Public Property Let ColumnOffset(iColOff)
If iColOff > 0 then
iColOffset = iColOff
Else
iColOffset = 2
End If
End Property
Public Property Let RowOffset(iRowOff)
If iRowOff > 0 then
iRowOffset = iRowOff
Else
iRowO ......
今天在修改以前开发的一个网站的时候遇到一个问题,因为功能的需要,以前的一个数字类型字段改变为文本字段,因为这个字段需要包含多个类别的ID,以前这个字段只对应一个ID的。
网站是ASP VB语言的,数据库使用的是Access
修改数据类型之后前台的查询代码就不能使用诸如xID=1这种条件了。由于现在该字段变为文本类型,其值为数组格式,如:
1,2,3,4,5
之前的sql查询语句为:select [ID] from [table] where xID=3
相应的查询代码就应该改变为:select [ID] from [table] where ','+xID+',' like '%,3,%'
记录一下,免得以后又去翻手册那么麻烦
by crazybruce ......
今天在修改以前开发的一个网站的时候遇到一个问题,因为功能的需要,以前的一个数字类型字段改变为文本字段,因为这个字段需要包含多个类别的ID,以前这个字段只对应一个ID的。
网站是ASP VB语言的,数据库使用的是Access
修改数据类型之后前台的查询代码就不能使用诸如xID=1这种条件了。由于现在该字段变为文本类型,其值为数组格式,如:
1,2,3,4,5
之前的sql查询语句为:select [ID] from [table] where xID=3
相应的查询代码就应该改变为:select [ID] from [table] where ','+xID+',' like '%,3,%'
记录一下,免得以后又去翻手册那么麻烦
by crazybruce ......
今天在修改以前开发的一个网站的时候遇到一个问题,因为功能的需要,以前的一个数字类型字段改变为文本字段,因为这个字段需要包含多个类别的ID,以前这个字段只对应一个ID的。
网站是ASP VB语言的,数据库使用的是Access
修改数据类型之后前台的查询代码就不能使用诸如xID=1这种条件了。由于现在该字段变为文本类型,其值为数组格式,如:
1,2,3,4,5
之前的sql查询语句为:select [ID] from [table] where xID=3
相应的查询代码就应该改变为:select [ID] from [table] where ','+xID+',' like '%,3,%'
记录一下,免得以后又去翻手册那么麻烦
by crazybruce ......
探索软件工作室长期专业承接中小型商业软件或网站,最优惠的价格和高质量的服务期待您的惠顾!
本工作室承接 JSP ASP VB PB LotusNotes 等语言要求的应用系统开发业务
java jsp实战源程序代码:
1.办公自动化管理(OA)系统 (web版 全套源码 安装即用) + (设计文档资料)
2.企业产供销管理(ERP)系统 (web版 全套源码 安装即用) + (设计文档资料)
3.网上(在线)书店管理系统 (web版 全套源码 安装即用) + (设计文档资料)
4.学生成绩管理系统 (web版 全套源码 安装即用) + (设计文档资料)
5.新闻发布管理系统 (web版 全套源码 安装即用) + (设 ......
探索软件工作室长期专业承接中小型商业软件或网站,最优惠的价格和高质量的服务期待您的惠顾!
本工作室承接 JSP ASP VB PB LotusNotes 等语言要求的应用系统开发业务
java jsp实战源程序代码:
1.办公自动化管理(OA)系统 (web版 全套源码 安装即用) + (设计文档资料)
2.企业产供销管理(ERP)系统 (web版 全套源码 安装即用) + (设计文档资料)
3.网上(在线)书店管理系统 (web版 全套源码 安装即用) + (设计文档资料)
4.学生成绩管理系统 (web版 全套源码 安装即用) + (设计文档资料)
5.新闻发布管理系统 (web版 全套源码 安装即用) + (设 ......
<%
'//////////// GPS:Get Picture Size //////////////
'//////////////利用ADODB.stream获取图片尺寸//////////////
Class GPS
Dim aso
Private Sub Class_Initialize
Set aso=CreateObject("Adodb.Stream")
aso.Mode=3
aso.Type=1
aso.Open
End Sub
Private Sub Class_Terminate
set aso=nothing
End Sub
Private Function Bin2Str(Bin)
Dim I, Str
For I=1 to LenB(Bin)
clow=MidB(Bin,I,1)
if AscB(clow)<128 then
Str = Str & Chr(ASCB(clow))
Else
I=I+1
if I <= LenB(Bin) then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))
end If
Next
Bin2Str = Str
End Function
Private Function Num2Str(num,base,lens)
'GPS (2005-8-11)
dim ret
ret = ""
while(num>=base)
ret = (num mod base) & ret
num = (num - num mod base)/base
wend
Num2Str = right(string(lens,"0") & num & ret,lens)
End Function
Private Function Str2Num(str,base)
'GPS (2005-8-11)
dim ret
ret = 0
for i=1 to len(str)
ret = ret *base + cint(mid(str,i,1))
next
Str2Num=ret
End Function
Privat ......
<%
Call RemoveAllCache()
Sub RemoveAllCache()
Dim cachelist,i
Call InnerHtml("UpdateInfo","<b>开始执行清理当前站点缓存</b>:")
Cachelist=split(GetallCache(),",")
If UBound(cachelist)>1 Then
For i=0 to UBound(cachelist)-1
DelCahe Cachelist(i)
Call InnerHtml("UpdateInfo","更新 <b>"&cachelist(i)&"</b> 完成")
Next
Call InnerHtml("UpdateInfo","更新了"& UBound(cachelist)-1 &"个缓存对象<br>")
Else
Call InnerHtml("UpdateInfo","<b>当前站点全部缓存清理完成。</b>。")
End If
End Sub
Function GetallCache()
Dim Cacheobj
For Each Cacheobj in Application.Contents
GetallCache = GetallCache & Cacheobj & ","
Next
End Function
Sub DelCahe(MyCaheName)
Application.Lock
Application.Contents.Remove(MyCaheName)
Application.unLock
End Sub
Sub InnerHtml(obj,msg)
Response.Write "<li>"&msg&"</li>"
Response.Flush
End Sub
%>
......
注意:系统需要FSO权限、XMLHTTP权限
系统包括两个文件,其实可以合并为一个。之所以分为两个是因为部分杀毒软件会因为里边含有FSO、XMLHTTP操作而被认为是脚本木马。
调用时,需要在ASP页面的最上边包含主文件,然后在下边写下以下代码
Set MyCatch=new CatchFile
MyCatch.Overdue=60*5 '修改过期时间设置为5个小时
if MyCatch.CatchNow(Rev) then
response.write MyCatch.CatchData
response.end
end if
set MyCatch=nothing
复制代码
文件一:FileCatch.asp 的代码
<!--#include file="FileCatch-Inc.asp"-->
<%
'---- 本文件用于签入原始文件,实现对页面的文件Catch
'---- 1、如果文件请求为POST方式,则取消此功能
'---- 2、文件的请求不能包含系统的识别关键字
'---- 3、作者 何直群 (www.wozhai.com)
Class CatchFile
Public Overdue,Mark,CFolder,CFile '定义系统参数
Private ScriptName,ScriptPath,ServerHost '定义服务器/页面参数变量
Public ......