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

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 & "

1<br/>

"& arrSheets(i) &"

1<br/>

"
xlsStr = xlsStr & "

 1<table 100%""="" border="1" bordercolor="#000000" cellpadding="1" cellspacing="1" style="border-collapse:collapse;border:2px solid #000000" width="">"   
 2rs.Open Sql,ExcelConn,1,1   
 3k = 1   
 4While Not rs.eof   
 5If k Mod 2 &lt;&gt; 0 Then bgColor = "bgColor=#E0E0E0" Else bgColor = ""   
 6xlsStr = xlsStr &amp; "<tr "&="" &"="" bgcolor="">"   
 7xlsStr = xlsStr &amp; "<td>"&amp; rs(0) &amp;"</td>"   
 8For j = 0 to rs.Fields.Count-1   
 9xlsStr = xlsStr &amp; "<td>"&amp; rs(j) &amp;"</td>"   
10Next   
11xlsStr = xlsStr &amp; "</tr>"   
12rs.movenext   
13k = k + 1   
14Wend   
15xlsStr = xlsStr &amp; "</table>
1<br/>

"
rs.Close
Next
ExcelConn.Close
Set ExcelConn = Nothing
SwitchExcelInfo = xlsStr
End Function

Published At
Categories with Web编程
Tagged with
comments powered by Disqus