接著介紹第二種匯出報表的程式寫法,也就是藉由BOE XI COM SDK 提供的CrystalReports.CrystalReportExportControl 元件來達成。
CE10_RPT_ReportExport2.asp
CE10_RPT_ReportExport2.asp
| Code: |
<%@ Language=VBScript CodePage=65001 %>
<%
Dim CMS
Dim Username
Dim Password
Dim Authtype
CMS = "tom"
Username = "administrator"
Password = ""
Authtype = "secEnterprise"
Dim oEnterpriseSessionMgr
Dim ceSession
Dim iStore
Set oEnterpriseSessionMgr = Server.CreateObject("CrystalEnterprise.SessionMgr")
Set ceSession = oEnterpriseSessionMgr.Logon(Username, Password, CMS, Authtype)
Set iStore = ceSession.Service("","InfoStore")
Dim rptappfactory
Dim ReportName
Dim Reports
Dim Report
Dim oConnInfos
ReportName = "報表名稱"
Set Reports = iStore.Query("SELECT SI_ID, SI_NAME FROM CI_INFOOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.Report' and SI_NAME='" + ReportName + "'")
Report = Reports.Item(1).Properties("SI_ID")
Set rptappfactory = iStore.EnterpriseSession.Service("", "RASReportFactory")
Set Session("oClientDoc") = rptAppFactory.openDocument(Reports.item(1))
Set oConnInfos = Session("oClientDoc").DatabaseController.GetConnectionInfos()
oConnInfos.Item(0).UserName = "sa"
oConnInfos.Item(0).Password = "flikwang"
Session("oClientDoc").DatabaseController.SetConnectionInfos oConnInfos
Dim crReportExportFormatCrystalReports
Dim crReportExportFormatMSWord
Dim crReportExportFormatMSExcel
Dim crReportExportFormatRTF
Dim crReportExportFormatPDF
Dim crReportExportFormatRecordToMSExcel
Dim crExportFormatText
Dim crReportExportFormatCharacterSeparatedValues
crReportExportFormatCrystalReports = 0 'Crystal Report
crReportExportFormatMSWord = 1 'Microsoft Word
crReportExportFormatMSExcel = 2 'Microsoft Excel
crReportExportFormatRTF = 3 'Rich Text Format
crReportExportFormatPDF = 5 'Adobe PDF
crReportExportFormatRecordToMSExcel = 6 'Microsoft Excel (Data Only)
crExportFormatText = 7 'Plain Text
crReportExportFormatCharacterSeparatedValues = 8 'Comma Separated Values
ExportReport Session("oClientDoc").ReportSource, crReportExportFormatPDF
%>
<%
Sub ExportReport(reportSource, format)
Dim objectFactory
Dim expOpt
Dim formatOpt
Set objectFactory = CreateObject("CrystalReports11.ObjectFactory.1")
Set expOpt = objectFactory.CreateObject("CrystalReports.ExportOptions")
Select Case CDbl(format)
Case crReportExportFormatCrystalReports
'No options.
Case crReportExportFormatMSWord
Set formatOpt = objectFactory.CreateObject("CrystalReports.RTFWordExportFormatOptions")
expOpt.FormatOptions = formatOpt
Case crReportExportFormatMSExcel
Set formatOpt = objectFactory.CreateObject("CrystalReports.ExcelExportFormatOptions")
expOpt.FormatOptions = formatOpt
Case crReportExportFormatRTF
Set formatOpt = objectFactory.CreateObject("CrystalReports.RTFWordExportFormatOptions")
expOpt.FormatOptions = formatOpt
Case crReportExportFormatPDF
Set formatOpt = objectFactory.CreateObject("CrystalReports.PDFExportFormatOptions")
expOpt.FormatOptions = formatOpt
Case crReportExportFormatRecordToMSExcel
'No options.
Case crReportExportFormatText
'No options.
Case crReportExportFormatCharacterSeparatedValues
'No options.
End Select
Dim exportControl
Set exportControl = objectFactory.CreateObject("CrystalReports.CrystalReportExportControl")
expOpt.ExportFormatType = CDbl(format)
With exportControl
.ReportSource = reportSource
.IsOwnForm = true
.IsOwnPage = true
.ExportOptions = expOpt
.ExportAsAttachment = True
End With
Call exportControl.ProcessHttpRequest(Request, Response, Session)
End Sub
%>
|
浙公网安备 33010602011771号