当前位置: 首页 > 图文教程 > 网络编程 > ASP > 利用owc建立EXECL的例子

ASP
Adodb.Command 平时很少注意到的一个参数
Asp.Net控件加载错误的解决方法
远程连接access数据库的方法
创建具有JScript的HTML的XMLHTTP
在Asp中如何快速优化分页的技巧
用VB生成DLL封装ASP代码,连接数据库
RS.OPEN SQL,CONN,A,B 全接触
利用adodb.stream直接下载任何后缀的文件(防盗链)
用ASP编程控制在IIS建立Web站点的程序代码
使用VBScript操作Html复选框(CheckBox)控件
把文章内容中涉及到的图片自动保存到本地服务器
两个不同数据库表的分页显示解决方案
使用组件封装数据库操作(一)
使用组件封装数据库操作(二)
如何在pb中创建COM组件,并在asp中调用并返回结果集?
用ASP和Microsoft.XMLDOM分析远程XML文件
浅谈无刷新取得远程数据技术
将ASP纪录集输出成n列的的表格形式显示的方法
在ASP中通过oo4o连接Oracle数据库的例子
Server Application Error详细解决办法

ASP 中的 利用owc建立EXECL的例子


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

       呵呵,这个是我介绍制作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
 &nb