Visual Studio 2012使用水晶报表Crystal Report
SAP在 2013年1月14日 released SAP Crystal Reports,developer version for Microsoft Visual Studio - 2012 。
你可以从下面链接下载:
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_5.exe
下载并安装入你的电脑。安装 完毕,可以看到那些曾经熟悉的工具。
练习练习,算是重温一下使用Crystal report 创建报表的网页。在SQL Server 2012中创建一个表:
CREATE TABLE [dbo].[CustomerOrders] ( [CO] INT IDENTITY(1,1) NOT NULL PRIMARY KEY, [Item] NVARCHAR(40) NOT NULL, [Description] NVARCHAR(100) NULL, [Unit] NVARCHAR(10), [Quantity] INT NOT NULL, [Price] DECIMAL(18,4) NOT NULL ) GO
表创建好之后,添加一些记录。
INSERT INTO [dbo].[CustomerOrders] ([Item],[Description],[Unit],[Quantity],[Price]) VALUES ('W023-695-225',N'火星',N'个','3','10320.56'), ('W055-641-001',N'土星',N'个','2','90000.43'), ('T406-439-226',N'地球',N'个','6','23000.81'), ('G071-852-444',N'水星',N'个','1','15930.32'), ('U222-476-371',N'木星',N'个','8','55179.55') Go
创建一个存储过程,这个存储过程是获取所有记录,将为水晶报表或是asp.net可用。
CREATE PROCEDURE [dbo].[usp_CustomerOrders_GetAll] AS SELECT [CO],[Item],[Unit],[Description],[Quantity],[Price],([Quantity] * [Price]) AS [Amount] FROM [dbo].[CustomerOrders] GO
在Visual Studio 2012创建一个站点,创建一个网页,拉CrystalReportViewer控件入网页。
拉入CrystalReportviewer控件之后,网页自然产生网页yellow高亮代码。再看看Web.config中添加了哪些代码?
Ok,现在我们要连接数据库了,因此还要配置Web.config,注意一下providerName="System.Data.SqlClient"此句,是为了在CryStal report中连接数据库时,能快速找到数据库。
<connectionStrings> <add name="InsusConnectionString" connectionString="Server=127.0.0.1;Initial Catalog=Demo;User ID=Arrot;Password=5236$88;Packet Size=8192;Max Pool Size=1000;" providerName="System.Data.SqlClient"/> </connectionStrings>
接下来,我们在网站下,创建一个CustomerOrders.rpt水晶报表,创建过程,可以参考下列动画:
创建好CryStalReport之后,再来看看web.config添加产生了哪些代码:
去Insus.NET的博客,下载一个DLL,这是一个处理asp.net与SQL Server数据沟通组件。
http://www.cnblogs.com/insus/archive/2010/01/23/1654653.html
解压之后,把DLL移至站点的BIN目录中。
现在,我们可以把CustonerOrders.rpt加载到CryStalReportViewer控件去了:
运行看看:
下面是导出铵钮pop-up窗口: