水晶报表的保存和显示(PDF和RTF)

本文详细介绍了如何在应用程序中使用水晶报表来保存报告为PDF和RTF格式。通过Session对象,实现了报表数据的传递,并探讨了处理字符串和空值(NULL)的方法,确保报表内容正确无误地呈现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private void Export(ReportDocument oRpt,string docKey,string type)
        
{            
            
string tempFileName;
            CrystalDecisions.Shared.DiskFileDestinationOptions myDestinationFile 
= new DiskFileDestinationOptions();

            
if ( type == "PDF" )    //modified by hfw 20070830
            {
                tempFileName 
= ConfigurationSettings.AppSettings["TempDir"+ docKey + ".pdf";
                myDestinationFile.DiskFileName 
= tempFileName;
                oRpt.ExportOptions.ExportDestinationType 
= ExportDestinationType.DiskFile;
                oRpt.ExportOptions.DestinationOptions 
= myDestinationFile;
                oRpt.ExportOptions.ExportFormatType 
= ExportFormatType.PortableDocFormat;
            }

            
else
            
{
                tempFileName 
= ConfigurationSettings.AppSettings["TempDir"+ docKey + ".rtf";
                myDestinationFile.DiskFileName 
= tempFileName;
                oRpt.ExportOptions.ExportDestinationType 
= ExportDestinationType.DiskFile;
                oRpt.ExportOptions.DestinationOptions 
= myDestinationFile;
                oRpt.ExportOptions.ExportFormatType 
= ExportFormatType.RichText;                
            }

            oRpt.Export();
            
//Session["oRpt"] = oRpt;
            Session["PDFFile"= tempFileName;
            Response.Write(
"<script>");//
            Response.Write("window.open('PDFContainer.aspx','_blank','height=650 resizable=1 width=900px top=50 left=50 scrollbars = 1',false);");
            
//window.open('PDFContainer.aspx','_blank');2006011,tangjiufei.
            Response.Write("</script>");    
    }

 

 

string tempFileName1 = "";
            
if(Session["PDFFile"!= null)
            
{
                tempFileName1 
= Session["PDFFile"].ToString();
            }


            Response.ClearContent();
            Response.ClearHeaders();
            
if ( tempFileName1.IndexOf("pdf"!= -1 )    //hfw 20070830
            {
                Response.ContentType
="application/pdf";
            }

            
else
            
{    
                            Response.ContentType="application/msword";
            }

            Response.WriteFile(tempFileName1);
            Response.Flush();
            Response.Close();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值