在asp.net中实现水晶报表的导出功能

       其实如果是在windows 的窗体中,水晶报表的Crystalreportviewer本身提供了导出功能,所以可以不需要编写任何代码。
      但是在asp.net中要实现水晶报表的导出功能则稍微有点不同了,需要实现少量的代码,下面是一个代码模版:

在asp.net中实现水晶报表的导出功能          public   void  Export( string  FileName,  string  Ext)
在asp.net中实现水晶报表的导出功能        
{
在asp.net中实现水晶报表的导出功能            ReportDocument reportDocument 
= GetReportDocument();
在asp.net中实现水晶报表的导出功能            ExportOptions exportOptions 
= new ExportOptions();
在asp.net中实现水晶报表的导出功能            DiskFileDestinationOptions diskOptions 
= ExportOptions.CreateDiskFileDestinationOptions();
在asp.net中实现水晶报表的导出功能            exportOptions.ExportFormatType 
= GetExportFormatType(Ext);
在asp.net中实现水晶报表的导出功能            exportOptions.ExportDestinationType 
= ExportDestinationType.DiskFile;            
在asp.net中实现水晶报表的导出功能            diskOptions.DiskFileName 
= FileName+"."+Ext;
在asp.net中实现水晶报表的导出功能            exportOptions.ExportDestinationOptions 
= diskOptions;
在asp.net中实现水晶报表的导出功能            reportDocument.Export(exportOptions);
在asp.net中实现水晶报表的导出功能        }

其中GetExportFormatType()的实现如下:

在asp.net中实现水晶报表的导出功能      private  ExportFormatType GetExportFormatType( string  ext)
在asp.net中实现水晶报表的导出功能        
{
在asp.net中实现水晶报表的导出功能            
switch (ext)
在asp.net中实现水晶报表的导出功能            
{
在asp.net中实现水晶报表的导出功能                
case "pdf":
在asp.net中实现水晶报表的导出功能                     
return ExportFormatType.PortableDocFormat;
在asp.net中实现水晶报表的导出功能                 
case "rtf":
在asp.net中实现水晶报表的导出功能                     
return ExportFormatType.RichText;
在asp.net中实现水晶报表的导出功能                 
case "doc":
在asp.net中实现水晶报表的导出功能                     
return ExportFormatType.WordForWindows;
在asp.net中实现水晶报表的导出功能                 
case "xls":
在asp.net中实现水晶报表的导出功能                     
return ExportFormatType.Excel;
在asp.net中实现水晶报表的导出功能                 
case "html":
在asp.net中实现水晶报表的导出功能                     
return ExportFormatType.HTML32;                 
在asp.net中实现水晶报表的导出功能                
default:
在asp.net中实现水晶报表的导出功能                    
return ExportFormatType.NoFormat;
在asp.net中实现水晶报表的导出功能            }

在asp.net中实现水晶报表的导出功能        }

而GetReportDocument()则是一个返回用户要导出的报表的ReportDocument 对象的函数,用户自己随意去实现。
另外还要注意,FileName的格式必须是:"c:\\crystalreport"  这样的形式。

套用这个代码模版,就可以实现5种格式的报表导出功能;

你可能感兴趣的:(asp.net)