vs2010自带报表
vs2010报表生成小例子20141114整理
Vs2010报表向导生成小例子
环境描述:vs2010 sql2012
报表要求:根据LicNo(车牌号)字段查询出CarID、CurrentStore、StoreName等信息。
一、数据库数据分析
报表要求字段来自两张表,StoreID为两张表主外键连接字段,为了方便我们新建一个视图,名为”View_CarStore”(建视图是方便后续报表的数据集设置,对于很多关系的表最好建视图)
打开视图看一下数据如下
二、vs中报表设计
1.创建并配置数据源(注意连接字符串中Data Source)
2.新建报表
这里我们讲用报表向导新建报表,这样能自动生成数据集右击“添加”-->“Add New Report”,弹出框直接“next”
确定数据源之后“next”
出现下图之后,写查询语句
Next选择呈现的样式
再next,把LicNo放在page里,意思是说作为查询条件,后来生成的报表中会多一个文本框和按钮。
Next选颜色,
然后取名字完成
这时点开design选项卡可以看见
参数里面有LicNo是因为刚才查询语句中已经写了where,如果新建报表时并不知道查询语句中条件,也可以在最后Parameters中添加参数。
Preview看下效果,给Lic No输入车牌号
如果后续需要添加别的数据集,则可以在左侧Report Data中添加,但注意只有在rdl文件处在design模式下,视图菜单下才会有Report Data。
报表中添加了相应的表头和表格之后,可以拖动左侧数据集中的字段
可以设置字段显示的内容,右击比如CarID显示内容-->Expression。
关于VS2010RDLC报表的详细使用说明
关于VS2010RDLC报表的详细使⽤说明各位技术屌丝们好,之前我⽤了很长⼀段时间通过不断的研究揣摩,终于把RDLC报表给搞透了,今天跟⼤家做个总结,希望能够帮助到⼤家。
需求分析我想把datagridview 中的数据打印出来。
⾸先新建⼀个winfrom 窗体第⼆部将数据填充到datagridview中现在我要做的是把datagridview中的数据打印出来。
打印之前⾸先建⽴⼀个窗⼝,专门⽤于存放打印控件注意红⾊标记的地⽅,尤其是访问级别处最好给public 避免出现访问不了现象。
图解:新建俩个⽂件夹。
report存放报表⽂件。
RDataSource存放数据源图解:新建⼀个数据源及⼀个报表⽂件。
新建⼀个数据表,主要⽤于报表上的传值。
由于我的数据源中只有俩个字段,所以在这⾥对于新增相同名称的字段,需要注意的是datatype这个地⽅,对于设置的数据类型新增表后会出现需要你选择数据源的地⽅,这个地⽅默认是引导新建,我们刚刚⼿动新增了我们的数据源所以这⾥我们选择以下图。
注意这是关键,不然你的数据获取不到。
⽤对象类型。
我们新增的数据源在对象⾥⾯会体现出来,需要注意的是只选择Rdataset (左)下⾯的不需要选择。
点击完成这⾥为了⽅便起见我起了跟数据源相同的名称。
这⾥数据源已经出来了,还有我们只新增了⼀个数据集(可⽤数据集)在dataset⾥⾯可以新增多个数据集,不过引⽤的时候需要注意下这⾥的可⽤数据集。
因为我们刚刚引⽤了数据源,所以在这⾥也已经有了。
报表的设置基本好了,这边报表的设计好不好看,完全取决于你的审美啦。
这⾥我们在datagridview中新增⼀个事件需要引⽤using Microsoft.Reporting.WinForms;基本到这⾥就算完成了,试着F5下吧。
直接打印即可啦!!!!花了⼀中午的时间做的教程,希望能够帮助到各位苦逼的程序员屌丝們,如果你看了对你有帮助的话同事也希望帮助到其他新⼿的话,请加⼊我们的群:28851380问题及处理⽅法找不到报表解决办法如果报表设置不是很⼤的话可以采⽤始终复制哦,如果很⼤的话就使⽤复制最新的。
利用Reportviewer生成RDLC报表
利用ReportViewer生成RDLC报表报表是应用程序,特别是数据库系统中的重要功能。
在Visual Studio 2010中,自带的ReportViewer控件,可以满足常用报表功能的实现,而且使用方便,以下就将介绍利用VS2010中的ReportViewer控件创建RDLC报表,并在winform程序中调用的实例,使用C#语法。
第一步:创建一个Windows应用程序在Visual Studio 2010中,选择“文件”菜单,新建-“项目”,从已安装模板中选择Visual C#,从中间的项目类型中,选择“Windows窗体应用程序”;在名称栏中,为项目指定名称;在位置栏中,指定想要保存的目录。
完成之后,项目中会有一个Form1,以下从对它的窗体设计器开始讲解。
像下面这样修改Form1的属性,当然也可以保留默认属性:Form1.Text = "MS Reporting Services 101 with Smart Client"Form1.Size = 750, 300第二步:为窗体(Form)添加报表查看器(Report Viewer)报表查看器,我们可以把它理解为显示和预览报表的容器。
它不仅可预览输出报表,还可帮助将报表信息生成各种格式(PDF或Excel等等),当然也包括打印功能。
请按如下步骤在Form1上放置好报表查看器控件:依次找到工具箱(ToolBox)――报表--报表查看器(ReportViewer),并把它拖到Form1上。
这会创建一个名为reportViewer1的新实例。
通过设置reportViewer1.Dock = Fill,报表查看器将会填充窗体的整个区域,以显示报表。
在完成第一步与第二步之后,窗体看起来应该如图1所示:图1第三步:为项目添加数据集(DataSet)数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据,我们便可对这些原始数据进行处理或在C#程序中输出。
VS2010使用说明书
VS2010全新操作软件说明书———功能更强大与操作简单并无冲突欢迎使用VS2010全新操作软件,目前该软件支持的控制卡型号有VSA系列、VSD卡、VS-mini卡、VSC++卡,暂时不支持VSB卡,请勿在VSB卡上更新VS2010软件。
在VSA系列的控制卡中,也仅支持标签颜色为白底红字的控制卡,如果错误的更新了VS2010软件将对控制卡造成不可恢复的损坏,请您谨慎使用。
目录第一部分 VS2010全新软件简介 (3)一、VS2010全新软件概述 (3)二、VS2010全新软件的运行环境及组件介绍 (4)三、VS2010操作界面简介 (5)四、软件主要功能列表 (6)五、菜单功能介绍 (6)1.文件 (6)2.编辑 (7)3.视图 (7)4.节目 (7)5.预览 (7)6.工程 (7)7.控制卡 (7)8.远程 (8)10.帮助 (8)六、快捷工具栏介绍 (8)七、对象工具箱介绍 (8)八、节目对象和属性介绍 (9)九、编辑区介绍 (9)十、系统状态栏介绍 (10)总结 (10)第二章对象的使用和编辑 (10)一、名词解释............................................. 错误!未定义书签。
二、什么是对象 (11)1.编辑对象 (11)2.显示对象 (11)三、对象与属性 (11)四、属性的编辑与对象的操作 (11)五、我们使用的对象 (12)1.编辑类对象 (12)节目和对象 (12)2.显示类对象 (13)文本文字 (13)内码文字 (14)RTF文字 (14)图片显示............................................. 错误!未定义书签。
文字节目单 (14)数字时钟 (15)模拟时钟 (15)动画 (15)表格 (15)天气信息 (15)倒计时 (16)第三章显示屏的管理 (16)一、管理的概念: (16)二、默认的环境 (16)三、发送节目 (16)四、下载节目 (16)五、工程的建立与导出 .................................. 错误!未定义书签。
vs2010 rdlc报表钻取
Vs2010 Rdlc报表钻取个人理解钻取就是一个跳转的过程。
先看看钻取后的结果图点击1001这条订单会跳转到对应订单明细,点击这个蓝色的箭头会返回主表。
1.首先准备好两个报表,order.rdlc主报表,orderdetails.rdlc子报表,并为他们添加数据集分别为orderDataSet和orderdetailsDataSet.为报表添加表,选择要显示的字段。
2.新建一个web项目default.aspx,添加reportviewer,为其添加报表order.rdlc为LocalReport添加一个属性,为ReportViewer添加一个钻取事件在后台补全这个事件引用一个命名空间Microsoft.Reporting.WebForms;publicvoid ReportViewer_Drillthrough(object sender,DrillthroughEventArgs e){LocalReport lr = (LocalReport)e.Report;lr.DataSources.Add(new ReportDataSource("orderdetailsDataSet", GetOrderDetails()));}GetOrderDetails()这个方法返回datatable,是与orderdetails这个数据集一致的。
在page_load中为orderDataSet这个数据集添加数据if (!IsPostBack){this.ReportViewer1.LocalReport.DataSources.Clear();this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("orderDataSet", GetOrder()));this.ReportViewer1.LocalReport.Refresh();}GetOrder()返回datatable类型。
VS2010_RDLC自带报表使用手册
RDLC使用总结1、为什么要使用RDLC报表(简介)VS .NET开发中,用什么进行报表设计?可能的回答是Crystal Report,当然,必须承认Crystal Report的功能还是非常强大的,被Business Object收购以后,商业的成分也在逐渐增加,也形成了一定规模的用户群。
Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。
但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。
在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。
Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Language的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。
这种报表的易用性和可定制性让我们完全有理由放弃Crystal Report,让我们来看看它的强大功能吧:1)简单易用的控件,特别是Table控件,非常方便字段在报表上的排列;2)灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧;3)高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;4)支持DrillThrough数据钻取功能;5)导出的Excel文件格式非常完美,而且并不需要安装Excel;6)数据源处理极其方便,开发人员可以自己接管数据库连接、取数,然后将数据结果赋值给RDLC的数据集即可。
VS2010使用说明书
VS2010全新操作软件说明书———功能更强大与操作简单并无冲突欢迎使用VS2010全新操作软件,目前该软件支持的控制卡型号有VSA系列、VSD卡、VS-mini卡、VSC++卡,暂时不支持VSB卡,请勿在VSB卡上更新VS2010软件。
在VSA系列的控制卡中,也仅支持标签颜色为白底红字的控制卡,如果错误的更新了VS2010软件将对控制卡造成不可恢复的损坏,请您谨慎使用。
目录第一部分 VS2010全新软件简介 (3)一、VS2010全新软件概述 (3)二、VS2010全新软件的运行环境及组件介绍 (4)三、VS2010操作界面简介 (5)四、软件主要功能列表 (6)五、菜单功能介绍 (6)1.文件 (6)2.编辑 (7)3.视图 (7)4.节目 (7)5.预览 (7)6.工程 (7)7.控制卡 (7)8.远程 (8)10.帮助 (8)六、快捷工具栏介绍 (8)七、对象工具箱介绍 (8)八、节目对象和属性介绍 (9)九、编辑区介绍 (9)十、系统状态栏介绍 (10)总结 (10)第二章对象的使用和编辑 (10)一、名词解释............................................. 错误!未定义书签。
二、什么是对象 (11)1.编辑对象 (11)2.显示对象 (11)三、对象与属性 (11)四、属性的编辑与对象的操作 (11)五、我们使用的对象 (12)1.编辑类对象 (12)节目和对象 (12)2.显示类对象 (13)文本文字 (13)内码文字 (14)RTF文字 (14)图片显示............................................. 错误!未定义书签。
文字节目单 (14)数字时钟 (15)模拟时钟 (15)动画 (15)表格 (15)天气信息 (15)倒计时 (16)第三章显示屏的管理 (16)一、管理的概念: (16)二、默认的环境 (16)三、发送节目 (16)四、下载节目 (16)五、工程的建立与导出 .................................. 错误!未定义书签。
VS2010水晶报表的使用方法
VS2010⽔晶报表的使⽤⽅法在VS2010中新建⼀个“Windows 窗体应⽤程序”项⽬,在该项⽬中添加⼀个⽔晶报表“CrystalReport1.rpt”,然后在项⽬上点击⿏标右键属性,将“⽬标框架”改为“.Net Framework 4”打开app.config⽂件,在“startup”节点⼀个“useLegacyV2RuntimeActivationPolicy="true"”属性复制代码代码如下:<startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>在Form1窗体中,从⼯具箱拖出⼀个Crystal Report Viewer控件,双击Form窗体,是双击Form窗体,不是Crystal Report Viewer,在后台的Form_Load事件中写⼊如下代码:复制代码代码如下:private void Form1_Load(object sender, EventArgs e){string connStr = "Data Source=.\\SqlExpress;Initial Catalog=dbTest;User ID=sa;Password=test";SqlConnection conn = new SqlConnection(connStr);conn.Open();try{stringsql="SELECT*FROMCustomerwhereemail!='**************'";SqlDataAdapter sda = new SqlDataAdapter(sql, conn);DataSet ds = new DataSet();sda.Fill(ds, "tmpTable");string reportPath = System.Windows.Forms.Application.StartupPath + @"\CrystalReport1.rpt";ReportDocument rd = new ReportDocument();rd.Load(reportPath);rd.SetDataSource(ds.Tables[0].DefaultView);this.crystalReportViewer1.ReportSource = rd;}catch (Exception ex){throw new Exception(ex.Message.ToString());}finally{conn.Close();}}这样就OK了。
VisualStudio2008&2010 CrystalReports(水晶报表)快速入门
Visual Studio 2008/2010 水晶报表快速入门先新建一个Web项目: CrystalWebApp为项目添加新项: CrystalReport1.rpt在弹出的对话框,选择作为空白报表。
用向导当然更方便,但在这里,白手起家或许能更好地理解。
在工具箱选择 Text Object,拖到报表头。
写些字,设置字体之类的。
在属性选项卡设置它的名字为 txtTitle 以供将来程序访问。
水晶报表对于程序员来说其实跟 Repeater 控件是很相似的。
于是需要数据和字段名。
在Repeater 控件中你可以很随意地指定要绑定的字段名。
在程序还没有真正运行之前,这个字段名可以没有任何表的字段名跟它匹配,也可以没有任何类的属性名跟它匹配。
但在水晶报表中,字段名在设计阶段就必须是真实存在的。
还能稍感安慰的是,水晶报表一旦设计好之后,就能像 Repeater 控件那样绑定任意类型的对像。
而不必是设计时指定字段来源的表或类。
所以我们现在要创造些真实存在的字段名……create table TabTest(UserIDint,UserNamenvarchar(50),Age int,Birthday datetime)你可以用 Access 或者 Excel 来创造真实存在的字段名,但我这里是使用 SQL Server。
在 "字段资源管理器" 的 "数据库字段" 上按右键,选择 "数据库专家..."。
在弹出的对话框中,创建新连接==>OLE DB (ADO)(Access 或者 Excel 应点 "数据库文件" 前的 "+" 号)。
在弹出的对话框,选择 "SQL Native Client" 作为提供程序。
按提示一步步地做,直到连上数据库。
选择表 TabTest,把它弄到右边的框中。
ReportViewer使用详细案例
ReportViewer(报表)使用案例
简单的使用步骤:
1.打开VS2010-->新建项目
2.资源管理器-->右键添加-->新建项
3.选择数据集添加
4.右键击工具箱添加(注意这里可以添加多种类型的数据集,但我们现在操作的是TableAdapter,您也可选其他选项)
完成后会出现如下界面:
5.点击新建连接,自行配置个人数据库连接,配置完成后直接下一步,如下图这里可以选择你要采用的数据库访问方式,然后直接下一步。
如:我选的是sql语句类型的数据库访问方式,sql输入完毕后直接完成
在数据集系统会自动生成如下图:
您可保存关闭!
6.再次来到解决方案--右键--添加--新建项
7.新建数据集
出现如下图,选择刚才所见的数据集确定
8.在该区域鼠标右键插入表(或其他图形),双击编辑表头选择数据调整页面位置完成保存关闭!
9.来到页面编辑选择报表里控件reportVeiwer 拖到窗口上,调整控件位置
10.点击小三角选择报表
选择后保存关闭窗口大功告成!运行程序查看。
如下:。
如何在VS2010使用水晶报表组件
VS2010不在像VS2008及以前版本那样支持Crystal Report了,不过SAP公司还是很给劲的,随即发布了CR for2010的免费开放版。
虽然如此,但刚上手使用的朋友们可能还是很费周折。
下简述使用。
如果只是为了能够在VS2010中运行有报表的程序,则可以简单的将运行程序所需的dll引入项目即可。
如果你的机器没有这些组件可以来这下载:点我。
一般只需要引用CrystalDecisions.CrystalReports.Engine.dll、CrystalDecisions.Shared.dll和CrystalDecisions.Web.dll即可。
下载后将其放入web/bin下,然后引用它们就可以了。
上述只适用于运行他人编写的有关报表的项目,做为开发者则还需进行其他工作。
VS2010不在支持Crystal report的设计,我们下载SAP公司的免费版(for VS2010)来设计即可(设计过程同在VS2008中没什么区别,只是环境独立了)。
随后将我们设计的第一个报表文件crTeacherWorkLoad.rpt文件拷贝到项目App_Data中。
我们使用CryStalReportViewer控件来显示刚才设计好的rpt文件。
VS2010IDE工具箱中不包含该控件,如果你安装了CR for VS2010则可以使用如下方法来显示该控件:如果没有此控件则可以直接将此控件的代码放入所需的aspx页面中,然后在这个aspx页面内注册此控件。
控件代码如下所示:[xhtml]view plaincopyprint?1.<CR:CrystalReportViewer ID="CrystalReportViewer1"runat="server"2.AutoDataBind="true"DisplayGroupTree="false"Height="50px"Width="350px"/><CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" DisplayGroupTree="false" Height="50px" Width="350px"/>注册代码放到页面头头,代码如下所示:[xhtml]view plaincopyprint?1.<%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral,PublicKeyToken=692fbea5521e1304"space="CrystalDecisions.Web"TagPrefix="CR" %><%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>如此以来再有了前面的三个dll的引用,就可以使用此控件来显示所需要的报表内容了。
VS2010建立使用水晶报表教程
首先下载安装水晶报表插件1)SAP Crystal Reports, version for Visual Studio 2010 -包括了报有DLL的水晶报表文件2)SAP Crystal Reports, version for Visual Studio 2010 -水晶报表部署时用到的文件3)SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit)只支持32位系统的包4)SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit)安装完成之后,用VS2010新建一个web应用程序或者网站项目,之后在项目里面添加一个水晶报表文件之后新建表格成功之后在项目里添加一个实体类public class demo{public demo(){ }public demo(string id, string name) {this.id = id; = name;}private string id;//编码public string Id{get { return id; }set { id = value; }}private string name;//名称public string Name{get { return name; }set { name = value; }}}之后打开刚才新建的水晶报表,找到下图所示点击确定即可,之后按照箭头所示,拖动字段。
之后新建参数字段:之后按照箭头所指,拖动参数字段到报表页面新建一个web页面WebForm1.aspx,添加以代码using System.Collections;using System.Collections.Generic;using CrystalDecisions.Shared;using CrystalDecisions.CrystalReports.Engine;using CrystalDecisions.Web;public partial class WebForm1 : System.Web.UI.Page{protected CrystalReportSource CrystalReportSource1 = new CrystalReportSource();protected CrystalReportViewer CrystalReportViewer1 = new CrystalReportViewer();protected void Page_Load(object sender, EventArgs e){List<demo> dmList = new List<demo>();for (int i = 0; i <= 10000; i++){demo dm1 = new demo("10001", "demo1");demo dm2 = new demo("10002", "demo2");demo dm3 = new demo("10003", "demo3");demo dm4 = new demo("10004", "demo4");dmList.Add(dm1);dmList.Add(dm2);dmList.Add(dm3);dmList.Add(dm4);}ReportDocument rd = null;rd = new ReportDocument();rd.Load(Server.MapPath("CrystalReport6.rpt"));//这个表示我们刚才新建的水晶报表rd.SetDataSource(dmList);//rd.ParameterFields["Title"].CurrentValues.AddValue("标题");//"运行综合指标" rd.ParameterFields["ID"].CurrentValues.AddValue("ID");//"站点"rd.ParameterFields["Name"].CurrentValues.AddValue("名字");//"报警次数"this.CrystalReportViewer1.ReportSource = rd;this.CrystalReportSource1.DataBind();form1.Controls.Add(CrystalReportViewer1);form1.Controls.Add(CrystalReportSource1);}}之后在浏览器里面浏览发现每行数据间隔太大,回到VS打开刚才新建的报表,缩减一下图中所示的间距之后浏览间距合理。
VS2010中动态创建水晶报表的心得
VS2010中动态创建渴晶报表的心得体会指导老师 吕中华(Y2学术部)作 者 向 根(NET4短训班)半个月之前,老大在班上组织了一个技术委员会帏组,帏组中的每一位成员都被赋予一个技术点,要湂自身在课下努力钻研后,于特定的时间在教室里利用投影设备为班上其他同学做出详细的讲解。
这些技术点,都是我们在B/S项目中所需要用的重要知识点,同时也是现今在工作当中运用的比较广滛的。
与其他成员分到的Lucene检索技术、Log4Net日志记录技术、iTextSharp导出PDF技术、SharpZibLib压缩解压缩不同,我被分到的技术点是:渴晶报表在.NET平台上的使用。
要湂实现的功能是:1.下载安装Crystal Report Designer;2.报表的绘制;3.与ASP集成,动态实现数据库的查询并在渴晶报表中进行显示。
初识渴晶报表之前只是在书上见到过渴晶报表这个词湇,它是内置于VS开发环境中的一种报表设计工具,可帮助程序员在.NET平台上创建高度复杂且专业级的互动式报表。
它协同数据库一起工作,可以帮助用户分析和解释重要的信息,使用渴晶报表既可以创建简单的报表,也可以创建复杂的、专业的报表,它可以从任何数据源生成所需要的报表。
设计好报表后,可以帆其通过多种形式发布,例如word、excel或者web网页等,高级的web渴晶报表还允许工作组中的其他成员在他们自己的web浏览器中查看或者共享报表。
使用Crystal Report还可以在基于GUI设计器中创建复杂而专业的报表,然后帆其链接到几乎所有数据源以及代理数据,例如结果集。
使用GUI中附带的向导,可以方便地进行格式化设置、分组、图标制作和报表。
安装渴晶报表在VS2005和2008的版本中,渴晶报表都是集成在这两个IDE中,在VS2010下,渴晶报表已经不再是VS中的一部分,帽管微软的VS2010中也有自带的报表控件Report View,但是相比渴晶报表中CrystalReportView、CrystalReportDocument,应用范围上还是帏了许多。
VS2010操作Excel2010,报错解决及读写excel
VS2010操作Excel2010,报错解决及读写excel版权所有,未经允许不可作为商业用途!!转载请注明出处!!谢谢合作!!2013-03-20操作系统:Windows 7旗舰版工具:VS2010语言:MFC C++第一步:初化COM接口。
在InitInstance中加入如下代码:12345if(!AfxOleInit()){AfxMessageBox(_T("Cannot initialize COM dll"));return FALSE;}第二步:向工程添加Excel的C++操作类。
具体步骤见下图:1.Ctrl+Shift+X 打开类向导。
2.添加需要的类文件。
如下图:4.将刚才导入的类头文件,加到模块std中。
#include "CApplication.h"#include "CWorkbooks.h"#include "CWorkbook.h"#include "CWorksheets.h"#include "CWorksheet.h"#include "CRanges.h"#include "CRange.h"//以上加入到 stdafx.h中5、将以上头文件的#import "C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE" no_namespace替换成以下:#pragma region Import the type libraries//#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52"#import "C:\\Program Files\\Common Files\\MicrosoftShared\\Office14\\MSO.DLL" \rename("RGB", "ExclRGB") rename("DocumentProperties", "ExclDocumentProperties") \rename("SearchPath", "ExclSearchPath")using namespace Office;//#import "libid:0002E157-0000-0000-C000-000000000046"#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" \rename("Reference", "ignorethis")using namespace VBIDE;#pragma warning( disable : 4049 )//#import "libid:00020813-0000-0000-C000-000000000046"#import "C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE" \exclude("IFont", "IPicture") \rename("RGB", "ExclRGB") \rename("DocumentProperties", "ExclDocumentProperties") \ rename("SearchPath", "ExclSearchPath") \rename("CopyFile", "ExclCopyFile") \rename("DialogBox", "ExclDialogBox") \rename("ReplaceT ext", "ExclReplaceT ext")using namespace Excel;6、编译,出现双击error C2059,将VARIANT DialogBox()改成VARIANT _DialogBox()再次编译,通过!!以下为读excel操作CApplication ExcelApp;CWorkbooks books;CWorkbook book;CWorksheets sheets;CWorksheet sheet;CRange range;CRange excel_current_range_;LPDISPATCH lpDisp = NULL;CString name;CString FilePathname;CString Filescr = _T("F:\\BenderMenu.xlsx");CString strSheetName = _T("Menu");CString strItem1;COleVariant varItem;COleVariant File;int PointSum = 0;long i = 0, j = 0;CEdit* pEdit = NULL;int IDL = 0;int IDA = 0;//创建Excel 服务器(启动Excel)if(!ExcelApp.CreateDispatch(_T("Excel.Application"),NULL)){AfxMessageBox(_T("启动Excel服务器失败!"));return;}ExcelApp.put_Visible(FALSE);ExcelApp.put_UserControl(TRUE);books.AttachDispatch(ExcelApp.get_Workbooks());CFileDialog Fdlg(TRUE, _T("Worksheet Files (*.xlsx)|*.xlsx"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Worksheet Files (*.xlsx)|*.xlsx"), NULL);Fdlg.m_ofn.lpstrInitialDir = _T("F:\\");if(IDOK == Fdlg.DoModal()){//get path of the fileFilePathname = Fdlg.GetPathName();//File = FilePathname;}else{return;}//打开一个工作簿lpDisp = books.Open(FilePathname,vtMissing, vtMissing, vtMissing, vtMissing, vtMissing,vtMissing, vtMissing, vtMissing, vtMissing, vtMissing,vtMissing, vtMissing, vtMissing, vtMissing);if(lpDisp != NULL){book.AttachDispatch(lpDisp);}sheets.AttachDispatch(book.get_Sheets());lpDisp = sheets.get_Item(_variant_t(strSheetName));if(lpDisp != NULL){sheet.AttachDispatch(lpDisp);}//以上为关联sheet,book等,,以下为读操作range.AttachDispatch(sheet.get_Cells());//一定要,不知道为何range.AttachDispatch(range.get_Item(COleVariant((long)20), COleVariant((long)2)).pdispVal, TRUE);//关联(20,2)单元格varItem = range.get_Value2();strItem1.Format(_T("%.lf"), varItem.dblVal);//知道是double类型,直接使用,若不知道得做类型判断PointSum = _ttoi(strItem1);m_PIC.m_pointSum = PointSum;range.ReleaseDispatch();//以下为写excelrange.AttachDispatch(sheet.get_Cells());range.AttachDispatch(range.get_Item(COleVariant((long)i), COleVariant((long)2)).pdispVal, TRUE);//varItem.dblVal = m_PIC.m_Len[i - 2];//range.put_Item(COleVariant((long)i), COleVariant((long)2), COleVariant(m_PIC.m_Len[i - 2]));range.put_Value2(COleVariant(m_PIC.m_Len[i - 2]));range.ReleaseDispatch();//最后保存book.Save();//释放对象sheet.ReleaseDispatch();sheets.ReleaseDispatch();book.ReleaseDispatch();books.ReleaseDispatch();ExcelApp.Quit();ExcelApp.ReleaseDispatch();。
VS2010RDLC根据查询产生报表
这段时间看了一下VS2010rdlc报表,供大家参考一下。
运行结果为下图form中的两个textbox是设定RIGHT LEVEL范围程序根据这两个textbox的值产生报表赶快记录下来1. 首先建立一个工程文件2. 创建完成后就将ReportViewer拉到form中如下图所示3. 再给form中建立一个textbox和botton 作为后续添加条件用4. 建立一个新的报表在ReportViewer控件右上角点击如下图所示选择“设计新报表”5. 自动弹出让你建立数据源配置向导,这里我是用DBMAKER作为数据源,配置好数据源会出现下图供选择数据表6. 选择其中一个表USER进行操作然后按照提示就好。
7. 数据源配置和资料表也配置好了就该进行重要的一步,选择报表!在ReportViewer的右上角点击“小三角” 选择刚才配置好的报表。
到这里基本就可以出报表了,可是我们的目的是加条件对数据库的内容筛选后输出报表。
就要在通过下面的步骤达到目的了选择第一个“在DataSet设计工具中编辑查询” ,然后在下图的菜单上右键选择"加入"或者"设定"(不知什么原因我的电脑在接下来容易卡退)添加查询语句如下图所示SQL语句中的?和不同的数据库有关系我采用DBMAKER 而SQLServer用”@控件“ ,然后按照提示完成即可修改好入下图所示然后函数里有参数了。
最后一步修改代码private void button1_Click(object sender, EventArgs e){if (string.IsNullOrEmpty(p1.Text.Trim()) &&string.IsNullOrEmpty(p2.Text.Trim())){ERTableAdapter.Fill(ER);//这是不含参数的方法this.reportViewer1.RefreshReport();}else if(!string.IsNullOrEmpty(p1.Text.Trim()) &&string.IsNullOrEmpty(p2.Text.Trim())){// TODO: 這行程式碼會將資料載入'ER' 資料表。
VS2010RDLC报表的使用心得
VS2010RDLC报表的使用心得VS2010 RDLC 报表的使用心得2012-10-29 08:38 3346人阅读评论(0) 收藏举报分类:Report(16) VS(43)在哪个WORD文件里看到的,不得不说微软的东西很傻瓜化,但是个人感觉用之前一头雾水,费了九牛二虎之力搞清楚了之后发现只不过如此。
为了让新入手VS2010 报表的朋友少走些弯路,也为了帮助记忆,特此写下一些东西。
一、报表绑定的数据集是一个带参数的结构化存储过程怎么办?在添加了一个一个带参数的结构化存储过程(该存储过程暂且叫SP)后,会发现如下提示:向导在配置TableAdapter检测到以下问题:"SP":详细信息:已生成SELECT语句。
Invalid object name '#临时表名'.要将这些组件添加到数据集中,请单击"完成"。
看到上面的错误提示,怎么办?不用管,直接完成(该数据集暂且叫DS)。
这时候来到报表设计,添加数据集会发现刚才建好的数据集DS没有字段。
解决办法是打开报表的XML格式,找到数据集,添加字段。
如下:1. <DataSets>2. <DataSet Name="DS">3. --开始添加4. <Fields>5. <Field Name="字段名">6. <DataField>字段名</DataField>7. <rd:TypeName>System.String</rd:TypeName >8. </Field>9. </Fields>10. --结束添加11. <Query>12. <DataSourceName>ReportsDataSet</DataSourc eName>13. <CommandText>/* Local Query */</CommandT ext>14. </Query>15. <rd:DataSetInfo>16. <rd:DataSetName>ReportsDataSet</rd:DataSet Name>17. <rd:SchemaPath>...</rd:SchemaPath>18. <rd:TableName>TableName</rd:TableName>19. <rd:TableAdapterFillMethod>Fill</rd:TableAdap terFillMethod>20. <rd:TableAdapterGetDataMethod>GetData</rd: TableAdapterGetDataMethod>21. <rd:TableAdapterName>T ableAdapter</rd:Table AdapterName>22. </rd:DataSetInfo>23. </DataSet>24. </DataSets>添加完以后,把RDLC报表关了重新打开,就能看到数据集的字段了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤
一.创建报表模版
1、在窗体层右击新建,reporting-报表,扩展名为rdlc的报表模板。
报表模版界面。
工具箱中会自动的出现可以添加的报表项。
在这里我们要显示的是数据库中表的字段的数据,所以把报表项中的表可以直接拖动过来,同时会给出如下的提示让我们添加数据容器dataset。
二.添加数据集
1.选择新建点击数据集。
弹出数据集属性:
2.选择数据对象
点击完成后显示如下信息:
点击完成后在报表数据中如下显示:
3.测试数据集
选择新建的数据集.XSD结尾文件
双击数据集文件,显示如下图:
测试数据集:
点击预览跳出如下窗口:
4.配置报表
测试数据集正常,生成解决方案,返回报表模版页面选择工具箱:
拖动上图中的表到报表模版中:
设置报表显示数据:
根据需要设置报表的页眉、页脚、打印方式:
给报表添加页码:
三.显示报表
1.新建页面把ReportViewer控件放到页面中
ReportViewer控件在页面中显示如下:
同时在页面中创建ScriptManager控件和ObjectDataSource控件
页面中显示如下:
2.连接报表
点击选择报表下拉选择刚才新建报表
显示如下:
3.为数据源提供未知参数:
创建DropDownList控件配置数据源
点击选择数据源:
点击新建数据源:
选择sql数据库点击确定:
选择连接字符串点击下一步:
选择sql语句点击下一步,跳出如下窗口:
输入sql语句点击下一步,测试查询点击完成:
配置显示数据字段:
创建时间参数,前台代码中添加两个隐藏TextBox控件,传递时间参数。
源代码符下图所示:
后台代码:
4.为ReportViewer配置数据源
选择ObjectDataSource控件点击配置数据源
弹出如下窗口:
选择创建的数据集命名开头的数据组件点击下一步,如下图所示操作:
为未知参数提供参数源,如图所示选择:
参数选择完毕如下图所示:
点击完成回到主页面,点击浏览,就可显示报表信息。
后台绑定表报
首先在前台绑定好报表,在后台写如下代码:
this.ReportViewer1.LocalReport.DataSources.Clear();
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dateset.PaymentForGoodstotalize(ht).Tables[0]));//第二个参数为数据源ReportViewer1.LocalReport.Refresh();。