用ASP如何把Access的内容转到Excel里面

把Access的表名作为Excel的第一行?
---------------------------------------------------------------

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
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
iRowOffset = 2
End If
End Property

Sub GenerateWorksheet(objRS)
If objRS.EOF then Exit Sub
Dim objField, iCol, iRow
dim TempStr
iCol = iColOffset
iRow = iRowOffset
For Each objField in objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Value = right(objField.Name,len(objField.Name)-1)
objSpreadsheet.Columns(iCol).AutoFitColumns
'设置Excel表里的字体
objSpreadsheet.Cells(iRow, iCol).Font.Bold = True
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
objSpreadsheet.Cells(iRow, iCol).Halignment = 2 '居中
iCol = iCol + 1
Next

Do While Not objRS.EOF
iRow = iRow + 1
iCol = iColOffset
For Each objField in objRS.Fields
If IsNull(objField.Value) then
objSpreadsheet.Cells(iRow, iCol).Value = ""
Else
TempStr=objField.Value
if instr(1,"日期",objField.name)>1 then
TempStr=Year(objField.Value) & "年" & month(objField.Value) & "月" & day(objField.Value) & "日"
end if
if instr(1,objField.name,"时间")>1 then
TempStr=Year(objField.Value) & "年" & month(objField.Value) & "月" & day(objField.Value) & "日 " & hour(objField.value) & "时" & minute(objField.value) & "分" & second(objField.value) & "秒"
end if
objSpreadsheet.Cells(iRow, iCol).Value = TempStr
objSpreadsheet.Columns(iCol).AutoFitColumns
objSpreadsheet.Cells(iRow, iCol).Font.Bold = False
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
End If
iCol = iCol + 1
Next
objRS.MoveNext
Loop
End Sub

Function SaveWorksheet(strFileName)
On Error Resume Next
Call objSpreadsheet.ActiveSheet.Export(strFileName, 0)

SaveWorksheet = (Err.Number = 0)
End Function

End Class
ExcelPath = "Excel/" & SaveName & ".xls"

Set objExcel = New ExcelGen

objExcel.RowOffset = 1
objExcel.ColumnOffset = 1
Response.write "

1<center>第一步:文件导出成功!<br/><br/><br/>"   
2objExcel.GenerateWorksheet(AdoRs)   
3dim Url   
4Url=ExcelPath   
5'Url=server.URLEncode(ExcelPath)   
6If objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) then   
7response.write "第二步:文件保存成功!</center>
Published At
Categories with Web编程
comments powered by Disqus