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();

(0)

相关推荐

  • vs10安装之后一些列问题

    记住:这时候08安装的时候要自定义一个实例 比如:mysql2008(不能在使用默认实例了) sql server 2008 express 安装的时提示"重启计算机失败 删除注册表键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations,然后再试一下. 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 打开进程关掉所有的sql进程

  • VS2015 update2安装历程

    如何坑爹大家都有体会,就不多说了. 总结一下,如果系统是自带的win10家庭版通过换序列号升级到专业版,那趁早重装吧,不然安装VS2015后是无法启动牛逼闪闪的Android模拟器的,会报错:cant' add user to hyper-v administrator group. 但如果你看用户和组里根本就找不到这个hyper-v administrator group. 只有全新安装的win10专业版才有. 如果已经安装了VS2015只升级update2,或者全新安装带update2的is

  • 安装 VS2005 SP1 有关问题的解决办法

    VS2005 SP1 出来了,号称是M$有史以来最bt的补丁,看见有人装了3个多小时还在收集信息-- 其实原因总结起来就两个: 1. 数字签名认证的问题 2. C盘空间的问题 原因1:Windows Installer设计的一个特性是可以验证文件的数字签名.但是这次的补丁太 大了,要验证签名的话基本上把内存都吃光了(要1GB左右的内存) 原因2:Windows Installer设计的一个特性是会在C盘生成一个$PatchCache$文 件,把补的文件再存一遍,对于这次的补丁嘛,这个大约会消耗掉

  • 解决VS2015中没有报表项(ReportViewer)的方法

    没有报表,一般默认安装之后会出现这种情况,在安装的时候选择自定义安装,把Microsoft Office 开发人员工具.Microsoft SQL Server Data Tools勾选上,安装之后就可以找到了. 1.点击vs_entprise安装 2.安装过后的点击修改 3.额外勾选Microsoft Office 开发人员工具.Microsoft SQL Server Data Tools 两项.如下图 4.点击安装,等待安装之后就可以看到报表啦(因为我的有内容没有更新,所以显示的是更新,一

  • 同时安装vs2005团队开发版和sql 2005企业版的方法(downmoon原作)

    同时安装vs2005团队开发版和sql 2005企业版(downmoon原作) 由于微软在vs2005vsts团队开发版中集成了sql 2005 express,而在SQL 2005中又集成了vs2005Express,,所以当很多用户同时安装vs2005团队开发?:?sql2005企业版(downmoon)时,就会出现数据库连接失败的case 请按照如下步骤修改: OK!作者: 邀月

  • CentOs6.5中安装和配置vsftp简明教程

    一.vsftp安装篇 复制代码 代码如下: # 安装vsftpdyum -y install vsftpd# 启动service vsftpd start# 开启启动chkconfig vsftpd on 二.vsftp相关命令之服务篇 复制代码 代码如下: # 启动ftp服务service vsftpd start# 查看ftp服务状态service vsftpd status # 重启ftp服务service vsftpd restart# 关闭ftp服务service vsftpd sto

  • vs2008 安装失败的总结与分享

    先装系统,接着装0ffice2007,接着装ms sqlserver 2005,再装adobe cs4 master套装,一路setup,很是顺利,好就差vs2008了,它一装好,我就可以赚钱了.可结果安装出错的报错,报错的文档如下: 复制代码 代码如下: [01/13/10,18:55:42] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in ISetupManager::InternalInstallManager()

  • ASP.NET中动态控制RDLC报表

    在asp.net程序中,可以选择使用水晶报表,功能确实强大.但是web版的水晶报表好像存在版权的问题.如果所作报表不是复杂的一塌糊涂的话,可以使用微软自带的Rdlc报表. Rdlc优点: 1:Rdlc报表设计简单 2:结果存成xml,易于控制 3:导出格式作的很不错 这里所说的动态控制报表所指的是:在一些时候,制作了报表之后希望在运行中可以动态的做一些小修改,比如说列的位置,用户控制显示那些列等等. 控制方法,尝试了这么几种: 1:控制微软提供的报表对象的属性: 2:报表全部自动生成 3:修改报

  • 解决安装VS2008无法更改默认路径的问题

    一直用VS2012 以及 VS2012开发,但是他们都不支持Wince程序的开发,所有要安装VS2008.但是发现VS2008只能安装在C盘,要知道C空间很宝贵的. 经过查找资料发现系统中已经安装了VS2008相关的组件,正是因为这些组件导致一些目录不能修改,解决方法如下: Microsoft Visual Studio Tools for Applications 2.0 - ENU Microsoft Visual Studio Tools for Applications 2.0 Lang

  • VS2015开发环境的安装和配置

    一.简介 为了避免网上乱七八糟的过时介绍,避免误导初学者,这次把至2016年6月底C#开发环境各种版本的更新和安装过程重新整理一下贡献出来.目的是为了让对C#感兴趣的初学者知道到底哪些是过时的,哪些是最新的,哪些是别有用心的人故意给你挖的坑. 先说一下VS2015的官方网址(这是你了解VS2015以及它到底能做哪些事的第1步): https://www.visualstudio.com/en-us/visual-studio-homepage-vs.aspx 其中: VS2015 Enterpr

随机推荐