如何使水晶报表导出pdf或者excel时,导出的pdf或者excel文档标题支持中文

这个问题困扰了我好久。如果在前端的aspx的水晶报表控件中直接设置

 <CR:CrystalReportViewer ID="消费报表" runat="server" PrintMode="ActiveX"
                        ReuseParameterValuesOnRefresh="True" ShowAllPageIds="True" HasCrystalLogo="False"
                        HasGotoPageButton="True" HasPageNavigationButtons="True" SeparatePages="True" AutoDataBind="true"
                        BestFitPage="True" HasToggleGroupTreeButton="False" EnableDrillDown="false" OnNavigate="CrystalReportViewer1_Navigate" />

把ID直接设置为汉字,比如消费报表。导出的文件名确实是这个,但是生成的水晶报表翻页直接会报下面的错误

如果在页面后端代码的Page_Load中直接设置

CrystalReportViewer1.ID = "消费报表";

仍然是相同的问题,影响到了水晶报表的翻页功能。网上没有找到行之有效的方法。最终想出了一个办法,用重写页面的oninit事件来解决这个问题。

override protected void OnInit(EventArgs e)
{
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
    //需要自数据库中获取数据,在这里处理
    CrystalReportViewer1.ID = "消费报表";
    this.Load += new System.EventHandler(this.Page_Load);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值