您的位置:首页 > 其它

MS-HELP中水晶报表知识拾遗

2004-10-20 09:50 295 查看
1.Web 窗体 Viewer 的报表绑定
ReportDocument crReportDocument;
crReportDocument = new tempCrystalReport();
crReportDocument.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource =crReportDocument;

2.查看报表
Web 窗体 Viewer 是在 Microsoft Internet Information Server (IIS) 内运行的一种 ASP.NET Web 窗体控件。查看器的主要功能是在客户机上承载和更新 HTML 格式的 Crystal 报表页。

此 Crystal Reports 控件的工作方式与 Visual Studio .NET 环境中的其他 Web 应用程序控件相同:服务器端的控件将其自身呈现为 HTML 并将该 HTML 发送给客户机。

要以 HTML 格式承载所请求的报表页,Web 窗体 Viewer控件将与本地 Web 服务器上的报表引擎或远程服务器上的报表 Web 服务进行交互。

3.导出报表



导出格式
Adobe Acrobat (.pdf)

Crystal Reports for Visual Studio .NET 许可协议 (.rpt)

HTML 3.2 和 4.0 (.html)

Microsoft Excel (.xls)

Microsoft Rich Text (.rtf)

Microsoft Word (.doc)

注意 ASPNET 帐户必须具有写入将报表导出到的文件夹的权限。如果该文件夹没有至少设置更改权限,您将会收到一条错误消息,告诉您临时报表文件出错。出现这条错误消息是因为 ASPNET 帐户在导出时创建了一个临时报表文件,但是在试图将该报表文件写入到导出文件夹时由于权限不足而失败。手动创建的文件夹可能不会自动将完全控制赋予 ASPNET 帐户。
[C#]
// 声明变量并获取导出选项。
ExportOptions exportOpts = new ExportOptions();
ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions ();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = Report.ExportOptions;

// 设置 Excel 格式选项。
excelFormatOpts.ExcelUseConstantColumnWidth = true;
exportOpts.ExportFormatType = ExportFormatType.Excel;
exportOpts.FormatOptions = excelFormatOpts;

// 设置磁盘文件选项并导出。
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
diskOpts.DiskFileName = fileName;
exportOpts.DestinationOptions = diskOpts;

Report.Export ();

导出为 PDF


下面的示例演示如何将报表导出为 PDF 格式并将其发送到客户端机器。

[Visual Basic]
' 定义 Crystal Reports 变量
Dim crReportDocument As ReportDocument
Dim crExportOptions As ExportOptions
Dim crDiskFileDestinationOptions As DiskFileDestinationOptions
Dim Fname as String

' 以下代码可以直接放在窗体的构造函数中对
'  InitializeComponent() 的调用之后,或者放在 ,
'  Button_Click 事件内部,在该事件中,客户端使用该按钮
'  来获取报表的可打印副本。

crReportDocument = New ReportDocument()
' 以下代码行加载
'  示例报表“Chart.rpt”
crReportDocument.Load ("C:/Program Files/Microsoft Visual Studio .NET 2003/Crystal Reports/Samples/Reports/Feature Examples/Chart.rpt")

Fname = "c:/exports/" & Session.SessionID.ToString & ".pdf"
crDiskFileDestinationOptions = New DiskFileDestinationOptions()
CrDiskFileDestinationOptions.DiskFileName = Fname
crExportOptions = crReportDocument.ExportOptions
With crExportOptions
.DestinationOptions = crDiskFileDestinationOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
End With
crReportDocument.Export()
' 以下代码将 pdf 文件写入
'  客户端浏览器。
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.WriteFile(Fname)
Response.Flush()
Response.Close()

' 从磁盘删除导出的文件
System.IO.File.Delete(Fname)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: