当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中利用ADO显示Excel文件内容的函数

ASP
自动清空站点目录下所有文件
ASPEMAIL通过Mdaemon的SMTP发信-recipient unknow处理办法
使用split分割多字符的字符串的方法
ASP调用oracle存储过程
ASP访问INTERBASE数据库
利用Session限制重复操作的简单方法
一个socket组件及其调用方法
ASP模仿asp.net的DataGrid
利用ASP技术实现文件直接上传功能
微软建议的ASP性能优化28条守则
温柔的杀手—跨站ASP Script攻击
aspjpeg组件高级使用方法介绍
asp+sqlserver 分页方法(不用存储过程)
Windows 2003上传文件不能超过200k解决方法
一个比较实用的asp函数集合类
WebClasses使注册变得容易
ASP对FoxPro自由表(DBF文件)的操作
HTTP_REFERER的工作方式
抓取动网论坛Email地址的一段代码
ASP+FSO+框架实现ASP生成htm并分页的方法(批量)

在ASP中利用ADO显示Excel文件内容的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 37 ::
收藏到网摘: n/a

 

dddggg [原作]

Function SwitchExcelInfo(xlsFileName)
Dim xlsStr
Dim rs
Dim i,j,k
Dim ExcelConn
Dim ExcelFile
Dim objExcelApp
Dim objExcelBook
Dim bgColor

xlsStr = ""
ExeclFile = Server.MapPath(xlsFileName)

Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Quit
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Quit
objExcelApp.DisplayAlerts = false '不显示警告
objExcelApp.Application.Visible = false '不显示界面
objExcelApp.WorkBooks.Open(ExeclFile)
set objExcelBook = objExcelApp.ActiveWorkBook
reDim arrSheets(objExcelBook.Sheets.Count)
For i=1 to objExcelBook.Sheets.Count
arrSheets(i) = objExcelBook.Sheets(i).Name
Next
objExcelApp.Quit
Set objExeclApp=nothing
'#################
'Power By www.knowsky.com
'#################
Set ExcelConn = Server.CreateObject("ADODB.Connection")
ExcelDriver = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & ExeclFile
ExcelConn.Open ExcelDriver
Set rs = Server.CreateObject("Adodb.RecordSet")
For i = 1 to UBound(arrSheets)
Sql = "SELECT * FROM ["& arrSheets(i) &"$] "
''显示各工作表的名称
''xlsStr = xlsStr & "<br>"& arrSheets(i) &"<br>"
xlsStr = xlsStr & "<table cellpadding=1 width=""100%"" cellspacing=1 border=1 bordercolor='#000000' style='border-collapse:collapse;border:2px solid #000000'>"
rs.Open Sql,ExcelConn,1,1
k = 1
While Not rs.eof
If k Mod 2 <> 0 Then bgColor = "bgColor=#E0E0E0" Else bgColor = ""
xlsStr = xlsStr & "<tr "& bgColor &">"
xlsStr = xlsStr & "<td>"& rs(0) &"</td>"
For j = 0 to rs.Fields.Count-1
xlsStr = xlsStr & "<td>"& rs(j) &"</td>"
Next
xlsStr = xlsStr & "</tr>"
rs.movenext
k = k + 1
Wend
xlsStr = xlsStr & "</table><br>"
rs.Close
Next
ExcelConn.Close
Set ExcelConn = Nothing
SwitchExcelInfo = xlsStr
End Function