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

下载较新版本: 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,并赋其参数

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

Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表的更多相关文章

  1. Visual Studio 2017中使用SourceLink调试ASP.NET Core源码

    背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ...

  2. 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  3. 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  4. 微软推出ASP.NET Core 2.0,并支持更新Visual Studio 2017

    微软推出ASP.NET Core 2.0的一般可用性,并发布.NET Core 2.0.该公司还推出了其旗舰集成开发环境(IDE)的更新:Visual Studio 2017版本15.3和Visual ...

  5. Visual Studio 2017 ASP.NET Core开发

    Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core 功能安装以后就可以进行 ...

  6. Visual Studio 2017十五项新功能体验

    Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP 2017技术峰会将于这个周末(3.17)在北京举办,由 ...

  7. RDLC Reporting in Visual Studio 2017

    原文:RDLC Reporting in Visual Studio 2017 Visual Studio 2017 中可以使用 RDLC Reporting 插件来设计报表,SAP Crystal ...

  8. Visual Studio 2017 Enterprise (15.3)

    版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...

  9. Visual Studio 2017 15.7 下的.NET Core

    Visual Studio 2017 15.7版本发布,对.NET Core项目的主要相关改变如下, 同时对Xamarin.Android和iOS项目的支持上也做了较大改进. 一. .NET Core ...

随机推荐

  1. VLC 用到的那些 YUV 格式

    YUV是视频应用中使用的一类像素格式.YUV实际上是所有“YUV”像素格式共有的颜色空间的名称. 与RGB格式(红 - 绿 - 蓝)相对应,YUV颜色用一个称为Y(相当于灰度)的“亮度”分量和两个“色 ...

  2. 浙江省赛之Singing Everywhere

    题目:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5996 方法: 在大佬的指导下完成. 寻找峰值,找到一共k个 ...

  3. charles修改接口返回值

    我们在测试app时,如果想看大数据量的展示情况,可以通过charles修改接口返回值来实现. 步骤1:手机连接代理 步骤2:app端请求接口,查看charles抓包情况 步骤3:选择想要修改返回值的接 ...

  4. tiny4412 --Uboot移植(6) SD卡驱动,启动内核

    开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...

  5. 通过PHP调用微信JSSDK实例

    JSSDK使用步骤: 1. 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 2. 采用http GET方式请求获得access_token(有效期7200秒). 3. ...

  6. 10.Redis分布式集群

    10.Redis分布式集群10.1 数据分布10.1.1 数据分布理论10.1.2 Redis数据分区10.1.3 集群功能限制10.2 搭建集群10.2.1 准备节点10.2.2 节点握手10.2. ...

  7. Unity3D-RayMarch-几何图元0

    效果图: 将下面的shader代码对应的Material拖给一个面片,即可看到效果. shader代码: // Upgrade NOTE: replaced '_Object2World' with ...

  8. Ansible安装及OS规划

    Ansible安装  1.以管理用户mtnsadmin连接服务器后下载安装包(-O表示将下载的文件存放到指定的文件夹下,同时重命名下载的文件)     sudo wget -O /etc/yum.re ...

  9. 201771010134杨其菊《面向对象程序设计(java)》第十六周学习总结

    第十六周学习总结 第一部分:理论知识 1. 程序是一段静态的代码,它是应用程序执行的蓝本.进程是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程.操作系统为每个进程分配一段独立的内 ...

  10. Dynamics AX 中的图片处理

    1.从本地读取图片文件,并判断格式是否附合要求. FilenameFilter filter = [‘Image Files‘,‘*.bmp;*.jpg;*.gif;*.jpeg‘]; BinData ...