Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表

简介: 原文:Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表 最近项目需要实现报表功能,平衡各方面的因素,还是使用Crystal Report(水晶报表) To get there click here: Download WIKI https://www.

原文:Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表

最近项目需要实现报表功能,平衡各方面的因素,还是使用Crystal Report(水晶报表)


To get there click here: Download WIKI

https://www.crystalreports.com/crystal-reports-visual-studio/

https://www.crystalreports.com/crvs/confirm/


下载较新版本: http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_21.exe

下载后解压,使用管理员权限安装。



 选择语言,点击下一步,同意SAP BUSINESSOBJECTS license Agreement:

 

选中Yes,install 64-bit runtime选项。
点击Finish按钮,继续安装。

 

 

安装结束,所有安装窗口自动关闭。

 

打开你的项目,参考下面几个类:

 

打开Web.Config文档,需要配置Crystal Report:

 

<configSections>
    <sectionGroup name="businessObjects">
      <sectionGroup name="crystalReports">
        <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
        <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
      </sectionGroup>
    </sectionGroup>
  </configSections>
configSections Source Code

 

<assemblies>
        <add assembly="CrystalDecisions.Web, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.Shared, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportSource, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
      </assemblies>
assemblies Source Code

 

<businessObjects>
    <crystalReports>
      <rptBuildProvider>
        <add embedRptInResource="true" />
        <add extension=".rpt" type="CrystalDecisions.Web.Com
             pilation.RptBuildProvider, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
      </rptBuildProvider>    
    </crystalReports>
  </businessObjects>
businessObjects Source Code

 

接下来,为ASP.NET MVC项目添加一页网页是asp.net 的ASPX,网页名为CurrencyReport.aspx,它自带有CurrencyReport.aspx.cs如下图。

对这页网页暂时不需添加任何代码,稍后创建好.Rpt报表后再来写代码。

现在开始创建.rpt水晶报表:

 

报表创建完毕,此时打开上面创建的ASPX网页。

 

再打开.aspx.cs代码页,编写加载水晶报表程序:

 

 string reportPath = Server.MapPath("CurrencyReport.rpt");
            ReportDocument repDoc = new ReportDocument();

            try
            {
                if (!File.Exists(reportPath))
                {
                    Response.Write("指定的报表不存在。 \n");
                }

                repDoc.Load(reportPath);

                repDoc.SetDatabaseLogon("username", "password", "127.0.0.1", "DBname", true);
                this.CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
                this.CrystalReportViewer1.HasToggleGroupTreeButton = false;
                this.CrystalReportViewer1.ReportSource = repDoc;
                
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
Source Code

 
为程序添加水晶报表完成,我们运行程序,结果如下:

 

什么内容也没有显示,按F12查看,还有crv.js加载失败和bobj is not defind错误。

经过研究与测试,我们还做少一步动作。前往电脑C驱动器:C:\inetpub\wwwroot把aspnet_client整个目录拷贝至项目的根目录之下。

 

 

 

再次运行程序:

 

数据还是没有显示,水晶报表需要输入连接数据安全信息。

解决这个问题,需要打开加载水晶报表的程序,添加一个方法SetDatabaseLogon,并赋其参数

 

 

再次刷新网页,上面的对话框消失,报表已经正常显示了》

 

目录
相关文章
|
存储 JSON 开发工具
Visual Studio编程效率提升技巧集(提高.NET编程效率)
Visual Studio编程效率提升技巧集(提高.NET编程效率)
278 0
Visual Studio编程效率提升技巧集(提高.NET编程效率)
|
XML 开发框架 .NET
ASP.NET COR3.1 集成日志插件NLog
ASP.NET COR3.1 集成日志插件NLog
220 0
|
JSON 开发框架 .NET
ASP.NET Core 集成JWT
什么是JWT?Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也...
434 0
ASP.NET Core 集成JWT
|
存储 运维
使用Visual Studio分析.NET Dump
使用Visual Studio分析.NET Dump
251 0
|
开发框架 缓存 前端开发
利用Visual Basic构建高效的ASP.NET Web应用
【4月更文挑战第27天】本文探讨使用Visual Basic与ASP.NET创建高效Web应用的策略,包括了解两者基础、项目规划、MVC架构、数据访问与缓存、代码优化、异步编程、安全性、测试及部署维护。通过这些步骤,开发者能构建出快速、可靠且安全的Web应用,适应不断进步的技术环境。
222 0
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
347 3
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
722 1
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
278 9
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
237 1
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
275 0