autofilter.ado.asp

<%@ LANGUAGE = VBScript %>
<% Option Explicit %>
<%
  '----------------------------------------------------------------------
  ' autofilter.asp - SpeedGen ASP Sample Script
  ' (c) 2000-2002 Optimized Software Ltd. All Rights Reserved.
  '----------------------------------------------------------------------
  ' This script demonstrates:
  '  - Reading ADO RecordSets
  '  - Excel AutoFilters (Excel Menu: Data | Filter | AutoFilter)
  '  - The Excel SubTotal, Max, Min, Average and CountA Functions
  '
  ' Notes:
  '  - Do NOT write any HTML or use Response.Write!
  '  - Server Side (or no) Cursors can cause queries (and stored procedures) to
  '    be executed multiple times! Using a Client Side Cursor will prevent this.
  '----------------------------------------------------------------------
  ' Tip: Code Library at http://www.excelspeedgen.com/code
  '----------------------------------------------------------------------
  Dim dbFile          ' Database File
  Dim oConn           ' ADO Connection object

  Dim Rs1             ' Record Source 1

  Dim XLS             ' SpeedGen Object
  Dim SrcBook         ' Source Workbook

  ' Open Microsoft Access Database
  dbFile = Server.MapPath("sample.mdb")
  Set oConn = Server.CreateObject("ADODB.Connection")
  oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbFile

  ' Open the RecordSets
  Set Rs1 = oConn.Execute("wine") ' SQL Statement (or Table name)

  ' Create Excel File
  Set XLS = Server.CreateObject("XLSpeedGen.ASP")
  XLS.EstimatedSize = 100000 ' Set Estimated Output File Size (Critical for speed)
  
  XLS.AddRS_ADO Rs1, 20 ' RecordSource 1 (read 20 rows at a time)

  SrcBook = Server.MapPath("autofilter.xls") ' Location of Source Workbook
  XLS.Generate SrcBook, "", True ' Generate SpreadSheet and Stream to Client, Open in Place

  Set XLS = Nothing ' Destroy object when done

  ' Cleanup Code
  oConn.close ' Close Connection and all Recordsets
  Set oConn = Nothing
%>


This Code Sample is intended for use with Excel SpeedGen