zoukankan      html  css  js  c++  java
  • 在asp.net中实现水晶报表的导出功能

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

            public void Export(string FileName, string Ext)
            
    {
                ReportDocument reportDocument 
    = GetReportDocument();
                ExportOptions exportOptions 
    = new ExportOptions();
                DiskFileDestinationOptions diskOptions 
    = ExportOptions.CreateDiskFileDestinationOptions();
                exportOptions.ExportFormatType 
    = GetExportFormatType(Ext);
                exportOptions.ExportDestinationType 
    = ExportDestinationType.DiskFile;            
                diskOptions.DiskFileName 
    = FileName+"."+Ext;
                exportOptions.ExportDestinationOptions 
    = diskOptions;
                reportDocument.Export(exportOptions);
            }

    其中GetExportFormatType()的实现如下:

        private ExportFormatType GetExportFormatType(string ext)
            
    {
                
    switch (ext)
                
    {
                    
    case "pdf":
                         
    return ExportFormatType.PortableDocFormat;
                     
    case "rtf":
                         
    return ExportFormatType.RichText;
                     
    case "doc":
                         
    return ExportFormatType.WordForWindows;
                     
    case "xls":
                         
    return ExportFormatType.Excel;
                     
    case "html":
                         
    return ExportFormatType.HTML32;                 
                    
    default:
                        
    return ExportFormatType.NoFormat;
                }

            }

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

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

  • 相关阅读:
    【SQL触发器】类型 FOR 、AFTER、 Instead of到底是什么鬼
    Oracle两种临时表的创建与使用详解
    oracle 临时表(事务级、会话级)
    oracle存储过程游标的使用(批号分摊)
    delphi FastReport快速入门
    Vue 表情包输入组件的实现代码
    一个基于 JavaScript 的开源可视化图表库
    浅淡Webservice、WSDL三种服务访问的方式(附案例)
    记录一下遇到的问题 java将json数据解析为sql语句
    Oracle词汇表(事务表(transaction table)”)
  • 原文地址:https://www.cnblogs.com/strinkbug/p/546264.html
Copyright © 2011-2022 走看看