ASP.NET水晶報表實現列印功能

來源:互聯網
上載者:User

 

ASP.NET下的水晶報表列印,據我所知有以下幾種辦法可以列印:

1.用IE的列印,調用window.print(),但這種辦法對於頁面上即有報表,又有其它控制項情況就無法區分,不能達到只列印報表內容的目的;

2.自已寫列印代碼

代碼如下:

以下為引用的內容:
CrystalDecisions.CrystalReports.Engine.ReportDocument rd=new CrystalDecisions.CrystalReports.Engine.ReportDocument(); 
rd.Load(Server.MapPath("Crystalreport1.rpt")); 
rd.PrintOptions.PrinterName="印表機名稱"; 
rd.PrintToPrinter(1,true,0,0); 

其中"印表機名稱":如果是網路印表機,在印表機名稱前面要加上"\\機器名".本機印表機也可以顯示在DropDownList控制項裡讓使用者選擇:

以下為引用的內容:
foreach(string iprt in System.Drawing.Printing.PrinterSettings.InstalledPrinters) 
this.DropDownList1.Items.Add(iprt); 

這個辦法可以只列印報表中的內容,缺點就是必須指明印表機名稱.如果是本機印表機還好辦,可以枚舉出來,讓使用者選擇.但如果是網路印表機,似乎就有些麻煩,我還不知道怎麼把網路印表機列出來讓使用者選擇,或者自動選預設的網路印表機.

3.匯出到PDF或EXCEL或其它格式的檔案列印.範例程式碼如下:
 
報表名稱 myrpt=new 報表名稱();

以下為引用的內容:
myrpt.ExportOptions.ExportDestinationType=CrystalDecisions.Shared.ExportDestinationType.DiskFile; 
myrpt.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.PortableDocFormat; 
CrystalDecisions.Shared.DiskFileDestinationOptions opt=new CrystalDecisions.Shared.DiskFileDestinationOptions(); 
opt.DiskFileName=@"檔案名稱"; 
myrpt.ExportOptions.DestinationOptions =opt; 
myrpt.Export(); 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.