zoukankan      html  css  js  c++  java
  • 水晶报表之打印和导出格式

    在ASP.NET中水晶报表没有象在Windows Form中那样提供报表的导出和打印功能,需要我们自己动手添加代码来控制,下面给个DEMO:

      导出:
    myReport  ReportDoc = new myReport();//表表的名称
    private void btnExport_Click(object sender, System.EventArgs e)
      {
       CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new  CrystalDecisions.Shared.DiskFileDestinationOptions();
       ReportDoc.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
       switch (DropDownList1.SelectedItem.Text)
       {
        case "Rich Text (RTF)":
           ReportDoc.ExportOptions.ExportFormatType =   CrystalDecisions.Shared.ExportFormatType.RichText;
           DiskOpts.DiskFileName = "d:\\demo.rtf";
         break;
        case "Portable Document (PDF)":
           ReportDoc.ExportOptions.ExportFormatType =   CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
           DiskOpts.DiskFileName = "d:\\demo.pdf";
         break;
        case "MS Word (DOC)":
           ReportDoc.ExportOptions.ExportFormatType =   CrystalDecisions.Shared.ExportFormatType.WordForWindows;
           DiskOpts.DiskFileName = "d:\\demo.doc";
         break;
        case "MS Excel (XLS)":
           ReportDoc.ExportOptions.ExportFormatType =   CrystalDecisions.Shared.ExportFormatType.Excel;
           DiskOpts.DiskFileName = "d:\\demo.xls";
         break;
        default:
         break;
       }
       ReportDoc.ExportOptions.DestinationOptions = DiskOpts;
        ReportDoc.Export();
      }

      打印:
    private void btnPrint_Click(object sender, System.EventArgs e)
      {
         string strPrinterName; // 指定打印机名称     
       strPrinterName = @"Canon Bubble-Jet BJC-210SP"; 
       PageMargins margins;  // 设置打印页边距
       margins = ReportDoc.PrintOptions.PageMargins;
       margins.bottomMargin = 250;
       margins.leftMargin = 350;
       margins.rightMargin = 350;
       margins.topMargin = 450;    
       ReportDoc.PrintOptions.ApplyPageMargins(margins);     
       ReportDoc.PrintOptions.PrinterName = strPrinterName;  //应用打印机名称    
         // 打印报表.startPageN 和 endPageN
       // 参数设置为 0 表示打印所有页。
       ReportDoc.PrintToPrinter(1, false,0,0);     
       }
  • 相关阅读:
    简单爬虫架构解析
    三种urllib实现网页下载,含cookie模拟登陆
    MySQL 从入门到删库
    Python Set
    Python dict
    Python tuple
    Python List
    死锁问题
    线程通信之生产者和消费者案例
    多线程安全和线程同步
  • 原文地址:https://www.cnblogs.com/skylaugh/p/380944.html
Copyright © 2011-2022 走看看