6.1.6 水晶报表导出数据技术
对象模型最常见的应用方法之一是运行报表并导出到另一种文件格式。
ReportDocument
对象是
CrystalDecisions.CrystalReports.Engine
命名空间下的成员类,它表示一个报表,并且包含定义、格式化、加载、导出和打印该报表的属性和方法。
ReportDocument
对象提供以下几种导出报表数据的方法。
l ExportToDisk
方法
将报表以指定格式导出到文件中。这是导出报表最简单的方法;通过接受变量来指定导出格式类型和导出的文件名。在只需要导出一个文件到磁盘上的时候,这种方法很有用。
语法:
public virtual void ExportToDisk(CrystalDecisions.Shared.ExportFormatTypeformatType ,string fileName )
参数说明:
formatType
:用来导出报表的格式类型。
FormatType
值是一个
ExportFormatTypeformatType
枚举类型值,
ExportFormatTypeformatType
枚举类型值及说明如表
6.4
所示。
FileName
:用来导出报表的文件名。
表
6.4 ExportFormatTypeformatType
枚举值及说明
成员
|
说明
|
CrystalReport
|
报表的导出格式是Crystal Report文件
|
Excel
|
报表的导出格式是Microsoft Excel文件
|
ExcelRecord
|
报表的导出格式是Excel记录文件
|
HTML32
|
报表的导出格式是HTML 3.2文件
|
HTML40
|
报表的导出格式是HTML 4.0文件
|
NoFormat
|
未指定导出格式
|
PortableDocFormat
|
报表的导出格式是PDF文件
|
RichText
|
报表的导出格式是Rich Text文件
|
WordForWindows
|
报表的导出格式是Microsoft Word文件
|
l ExportToStream
方法
此方法只能接受一个单独的变量,导出格式类型。方法返回值是
System.IO.Stream
对象。
语法:
public virtual System.IO.Stream ExportToStream(CrystalDecisions.Shared.ExportFormatType formatType)
参数说明:
formatType
:用来导出报表的格式类型。
FormatType
值是一个
ExportFormatTypeformatType
枚举类型值,
ExportFormatTypeformatType
枚举类型值及说明如表
6.4
所示。
返回值:包含字节序列形式的导出报表的流。
l ExportToHttpResponse
方法
此方法将报表以指定格式导出到响应对象中。其有两种重载形式。
语法:
public virtual void ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType formatType,System.Web.HttpResponseresponse,bool asAttachment,string attachmentName);
参数说明:
formatType
:用来导出报表的格式类型。
FormatType
值是一个
ExportFormatTypeformatType
枚举类型值,
ExportFormatTypeformatType
枚举类型值及说明如表
6.4
所示。
Response
:页面的响应对象。
AsAttachment
:指示是否将报表导出为响应的附件。
AttachmentName
:用来导出报表的文件名。
Public virtual void ExportToHttpResponse(CrystalDecisions.Shared.ExportOptions options,
System.Web.HttpResponse response ,bool asAttachment ,string attachmentName);
System.Web.HttpResponse response ,bool asAttachment ,string attachmentName);
参数说明:
options
:报表的导出选项。
response
:页面的响应对象。
asAttachment
:指示是否将报表导出为响应的附件。
attachmentName
:用来导出报表的文件名。
ExportToHttpResponse()
方法不支持导出为
HTML32
和
HTML40
格式的
HTTP
响应。因此,当尝试导出为
HTML32
或
HTML40
时,会出现错误消息。
如果
asAttachment
布尔值变量设置为
True
,则会出现
“
文件下载
”
对话框。如果
asAttachment
布尔值变量设置为
False
,导出的报表会在浏览器窗口中打开。
当选择保存文件时,文件名设置为
attachmentName
字符串变量。如果不指定
attachmentName
变量,则默认文件名为
“
无标题
”
,并带有指定的文件扩展名。可在
“
另存为
”
对话框中更改文件名。
l Export
方法
将报表导出到在
ExportOptions
对象内指定的格式和目标。
语法:
public virtual void Export(CrystalDecisions.Shared.ExportOptions options);
参数说明:
options
:导出报表的格式和目标。
此方法可以接受名为
ExportOptions
的对象作为变量,描述导出格式类型和目的类型。
ExportOptions
对象是
CrystalDecisions.Shared
命名空间下的一个类,它提供属性,以便检索和设置用于导出报表的选项。
ExportOptions
对象常用的属性及说明如表
6.5
所示。
表
6.5 ExportOptions
对象常用的属性及说明
属性
|
说明
|
DestinationOptions
|
获取或设置 DestinationOptions
|
ExportDestinationOptions
|
获取或设置报表的导出目标选项
|
ExportDestinationType
|
获取或设置导出目标类型
|
ExportFormatOptions
|
获取或设置 FormatOptions
|
ExportFormatType
|
获取或设置导出格式类型
|
FormatOptions
|
获取或设置 FormatOptions
|
下面对比较重要的属性进行详细介绍。
(
1
)
DestinationOptions
属性
获取或设置
DestinationOptions
。
语法:
public object DestinationOptions{get; set;}
DestinationOptions
对象包括
DiskFileDestinationOptions
、
ExchangeFolderDestinationOptions
或
MicrosoftMailDestinationOptions
对象。
l DiskFileDestinationOptions
对象
检索和设置导出到磁盘时的文件名。如果将报表导出至一个磁盘文件,使用
DiskFileDestinationOptions
对象的
DiskFileName
属性来设置目的文件的完整路径与文件名称。
l ExchangeFolderDestinationOptions
对象
检索和设置导出到
Microsoft Exchange
文件夹时的选项。如果将报表导出至
Microsoft Exchange
文件夹,应使用
ExchangeFolderDestinationOptions
对象的下列属性进行相关设置,如表
6.6
所示。
表
6.6 ExchangeFolderDestinationOptions
对象常用的属性及说明
属性
|
说明
|
DestinationType
|
获取或设置导出目标类型
|
FolderPath
|
获取或设置Exchange文件夹的路径,该文件夹用于导出到Exchange的报表
|
Password
|
获取或设置Exchange密码
|
Profile
|
获取或设置访问Exchange文件夹的用户配置文件,该文件夹用于导出到Exchange的报表
|
l MicrosoftMailDestinationOptions
对象
提供属性,以便检索和设置导出到
Microsoft mail
时的选项。如果将报表导出至
Microsoft mail
,应使用
MicrosoftMailDestinationOptionss
对象的下列属性进行相关设置如表
6.7
所示。
表
6.7 MicrosoftMailDestinationOptions
对象常用属性及说明
属性
|
说明
|
MailCCList
|
获取或设置通过电子邮件发送的报表的副本(抄送)列表
|
MailMessage
|
获取或设置包含在通过电子邮件发送的报表中的电子邮件
|
MailSubject
|
获取或设置要通过电子邮件发送的报表的电子邮件主题
|
MailToList
|
获取或设置要通过电子邮件发送的报表的收件人列表
|
Password
|
获取或设置登录电子邮件账户时所需的密码
|
UserName
|
获取或设置登录电子邮件账户时所需的用户名
|
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/203639,如需转载请自行联系原作者