·您的位置: 首页 » 资源教程 » 编程开发 » 数据库 » 利用OWC建立EXECL的例子

利用OWC建立EXECL的例子

类别: 数据库教程  评论数:0 总得分:0
呵呵,这个是我介绍制作EXECL的第三种方法了,对于OWC,我在前面的文章里也已经有所介绍,废话少说,请看代码:

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


Sub GenerateWorksheet(objRS)

\'Populates the Excel worksheet based on a Recordset\'s contents
\'Start by displaying the titles
If objRS.EOF then Exit Sub

Dim objField, iCol, iRow
iCol = iColOffset
iRow = iRowOffset

For Each objField in objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Value = objField.Name
iCol = iCol + 1
Next \'objField

\'Display all of the data
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
objSpreadsheet.Cells(iRow, iCol).Value = objField.Value
End If

iCol = iCol + 1
Next \'objField

objRS.MoveNext
Loop

End Sub


Function SaveWorksheet(strFileName)
\'Save the worksheet to a specified filename
On Error Resume Next
Call objSpreadsheet.ActiveSheet.Export(strFileName, 0)

SaveWorksheet = (Err.Number = 0)
End Function

End Class
%>

<%
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM titles", "DSN=FooBar"

Dim objExcel
Set objExcel = New ExcelGen

objExcel.RowOffset = 4
objExcel.ColumnOffset = 1

objExcel.GenerateWorksheet(objRS)
If objExcel.SaveWorksheet(Server.MapPath("foo.xls")) then
Response.Write "Worksheet saved. <a href=""foo.xls"">Download</a>"
Else
Response.Write "Error in saving worksheet!"
End If

Set objExcel = Nothing

objRS.Close
Set objRS = Nothing
%>

注意:请注意权限的问题……经常有人发EMAIL给我关于这方面的问题,实际上你只要给iuser_machine以适当的权限就可以了,比如对存放在EXECL文件的地方要有写的权限

:),下次我看看会再介绍一种生成EXECL的方法,可以利用BCP做的。
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1