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


Function SwitchExcelInfo(xlsFileName)
'#################
'Power By Tangn.COM
'#################
Dim xlsStr
Dim rs
Dim i,j,k
Dim ExcelConn
Dim ExcelFile
Dim objExcelApp
Dim objExcelBook
Dim bgColor
Dim Er

Er = False
xlsStr = ""

If xlsFileName = "" Then
    Er = True
End If

If Er = False AND UCase(Mid(file.fileName,InStrRev(file.filename, "."),Len(file.Filename)))<>"xls" Then
    Er = False
End If

If Er = False Then
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

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 & "
"& arrSheets(i) &"
"
xlsStr = xlsStr & " "
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 & " "
xlsStr = xlsStr & ""& rs(0) &""
For j = 0 to rs.Fields.Count-1
xlsStr = xlsStr & ""& rs(j) &""
Next
xlsStr = xlsStr & ""
rs.movenext
k = k + 1
Wend
xlsStr = xlsStr & "
"
rs.Close
Next
ExcelConn.Close
Set ExcelConn = Nothing
End If

SwitchExcelInfo = xlsStr
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值