我正在使用Vb6和Seagate Crystal Report 8.0我试图通过编码直接导出excel
Reports = C:\ Sample_Report.rpt
Database = C:\ Sample.mdb
Exe = C:\ Sample.exe
很容易使用以下代码
Crt1.ReportFileName = "C:\Sample_Report.rpt"
Crt1.SelectionFormula = ""
Crt1.DiscardSavedData = True
crReport.ExportOptions.DestinationType = crEDTDiskFile
Crt1.Destination = crptToFile
Crt1.PrintFileType = crEFTExcel80Tabular
Crt1.PrintFileName = "C:\REPORT.XLS"
Crt1.Action = 1
我GOT导出到excel文件,但标题和标题没有导出,列宽没有详细信息
克服此搜索并获得以下代码
Private Sub Report_ExportToExcel(ReportPath)
On Error GoTo Loc
Dim a
Dim path1
path1 = Save_Dialog '///open save dialog and get path to
save excel file
If path1 = "" Then Exit Sub
Dim appl As New CRAXDRT.Application
Dim dbTable As CRAXDRT.DatabaseTable
Dim rep As CRAXDRT.Report
Set rep = appl.OpenReport("C:\Sample_Report.rpt", 1)
rep.DiscardSavedData
For a = 1 To rep.Database.Tables.Count
rep.Database.Tables(a).Location = "C:\Sample.mdb"
rep.Database.Tables(a).SetLogOnInfo "C:\Sample.mdb", "Sample.mdb"
Next
rep.ExportOptions.DiskFileName = path1
rep.ExportOptions.DestinationType = crEDTDiskFile
rep.ExportOptions.ExcelAreaType = crDetail
rep.ExportOptions.ExcelUseTabularFormat = True
rep.ExportOptions.ExcelTabHasColumnHeadings = True
rep.ExportOptions.FormatType = crEFTExcel80Tabular
rep.Export False
Exit Sub
Loc:
MsgBox Err.Description
End Sub
From This" Report_ExportToExcel"代码我得到了我的实际输出
我有另一组预览水晶报告的代码,我将其用于整个项目
Private sub Preview()
Crt1.ReportFileName ="C:\Sample_Report.rpt"
Crt1.SelectionFormula = ""
Crt1.DiscardSavedData = True
Crt1.WindowState = crptMaximized
Crt1.Action = 1
End Sub
现在我使用不同的代码单独导出和预览
我可以运行代码" Report_ExportToExcel(ReportPath)"我想要多次,我可以运行预览,没有错误
但是
运行预览代码后,运行时出现错误" Report_ExportToExcel(ReportPath)"代码
因为我附在图片中而收到错误
这里Callvisitreport是TableName
我在此版本中开发了300多份报告,因此我无法更改为其他版本
请有人帮忙解决这个错误
提前谢谢