经典asp晶体报告库

问题描述:

是否有经典asp可用的库。我想从经典的asp中的rpt文件创建一个pdf文件。我不想安装水晶报告。有没有办法?经典asp晶体报告库

-Vivek

只能使用Crystal Reports的再发行的DLL来打开报告文件,并生成与它PDF。

我从来没有尝试直接从ASP打开水晶报表库,但应该没问题(或者你可以在VB6,如果你可以创建一个COM DLL)在VB6 DLL

一些代码,我有使用Crystal Reports 9:

Private Sub Export(ReportFile as string) 
    Dim crxReport As Report 
    Set crxReport = Prepare(ReportFile) 

    crxReport.ExportOptions.FormatType = crEFTPortableDocFormat 
    crxReport.ExportOptions.DestinationType = crEDTDiskFile 
    crxReport.ExportOptions.DiskFileName = "C:\export\export.pdf" 
    crxReport.Export (False) 
end sub 


Private Function Prepare(ReportFile as string) As Report 

    Dim CRapp As CRAXDRT.Application 
    Set CRapp = New CRAXDRT.Application 
    Dim crxReport As Report 
    Dim aDatabaseObject As Database 

    Dim aDatabaseTableObject As CRAXDRT.DatabaseTable 
    Dim objConn As ConnectionProperty 


    Set CRapp = New CRAXDRT.Application 
    CRapp.SetLicenseKeycode ("XXXXXXXXXXXXXXXXXXXXXXXX") 
    Set crxReport = CRapp.OpenReport(ReportFile) 

    Set aDatabaseObject = crxReport.Database 
    Set cnn = New ADODB.Connection 
    cnn.ConnectionString = MyConnectionString() 

    Set aDatabaseObject = crxReport.Database 

    For Each aDatabaseTableObject In aDatabaseObject.Tables 
     Dim objCPProperties As CRAXDRT.ConnectionProperties 
     aDatabaseTableObject.DllName = "crdb_ado.dll" 
     Set objCPProperties = aDatabaseTableObject.ConnectionProperties 
     objCPProperties.DeleteAll 
     objCPProperties.Add "Provider", "SQLOLEDB" 
     objCPProperties.Add "Data Source", cnn.Properties.Item("Data Source").Value 
     objCPProperties.Add "Initial Catalog", cnn.Properties.Item("Initial Catalog").Value 
     objCPProperties.Add "User ID", cnn.Properties.Item("User ID").Value 
     objCPProperties.Add "Password", cnn.Properties.Item("Password").Value 
     aDatabaseTableObject.Location = aDatabaseTableObject.Name 
    Next 

    Set Prepare = crxReport 

End Function