(I)[Report] VS2013 怎么做报表rdlc + DataSet

环境VS2013
製作报表
1.建立参考
2.建立REPORT VIEW
3.建立报表
3.1.产生连线
3.2.产生DATASET
3.3.产生报表

用程式控制报表值
4.资料繫结databind
5.webpage中将报表汇出

先加入参考
http://img2.58codes.com/2024/20106764BCNZhT4PFV.png
加入这2个控制项
http://img2.58codes.com/2024/20106764eUvDqUWODM.png
按下[设计新报表]
http://img2.58codes.com/2024/20106764l0m9tCE68d.png
资料集属性:新增或选取资料来源 & 新增或选取资料来源
http://img2.58codes.com/2024/20106764KX7RYR9Fs9.png
选择资料连接:新增连接
http://img2.58codes.com/2024/20106764eglPTevRAk.png
加入连接:输入帐密 & 输入资料库
http://img2.58codes.com/2024/20106764tbnN4ayT8r.png
选择资料连接
http://img2.58codes.com/2024/201067648hf55wpUFo.png
选择您的资料库物件
http://img2.58codes.com/2024/20106764WfVpGxlIou.png

http://img2.58codes.com/2024/20106764vyBEwwbTQJ.png
资料集属性
http://img2.58codes.com/2024/20106764TN3gzcQKa1.png
排列栏位
http://img2.58codes.com/2024/20106764wcAyDa2lYC.png
选择配置
http://img2.58codes.com/2024/201067644xY9jtFups.png
选择样式
http://img2.58codes.com/2024/20106764ZJPgIVeWKg.pnghttp://img2.58codes.com/2024/20106764ZqyNlG09rD.png

做完会产生3个档案

1.webconfig里多了
2.多了DataSet.xsd
3.Report.rdlc
http://img2.58codes.com/2024/20106764k1SQYnDSFI.png
http://img2.58codes.com/2024/20106764vadcgyGzsA.png
http://img2.58codes.com/2024/20106764HpxTxGLTkQ.png
报表属性设定
设为内容 & 永远複製
http://img2.58codes.com/2024/20106764qrtVTEnHxn.png

用code 给CR dateset

这样报表就会做显示了

         DataSet myds = getDateSet(YMDs, YMDe, iUnit, sOrderBy);        this.ReportViewer1.LocalReport.ReportPath = @"Report1.rdlc";        ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;        ReportViewer1.LocalReport.DataSources.Clear();        this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1", myds.Tables[0]));        this.ReportViewer1.LocalReport.Refresh();
private static DataSet getDateSet(string YMDs, string YMDe, string iUnit, string sOrderBy)   {       SqlConnection sqlConn = new SqlConnection(control. ConnStr);      SqlCommand sqlCmd = new SqlCommand("exec sp_xxx  @YMDs,@YMDe ,@iUnit ,@OrderBy", sqlConn);       sqlCmd.Parameters.Add(new SqlParameter("@YMDs", YMDs));       sqlCmd.Parameters.Add(new SqlParameter("@YMDe", YMDe));       sqlCmd.Parameters.Add(new SqlParameter("@iUnit", iUnit));       sqlCmd.Parameters.Add(new SqlParameter("@OrderBy", sOrderBy));       SqlDataAdapter myda = new SqlDataAdapter(sqlCmd);        sqlCmd.CommandTimeout = 6000;       DataSet myds = new DataSet();       sqlConn.Open();       myda.Fill(myds);       sqlConn.Close();       return myds;   }

将报表汇出成EXCEL

protected void Button1_Click(object sender, EventArgs e)      {           DataSet myds = getDateSet( );          this.ReportViewer1.LocalReport.ReportPath = @"Report1.rdlc ";          ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local;          ReportViewer1.LocalReport.DataSources.Clear();          this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1", myds.Tables[0]));          this.ReportViewer1.LocalReport.Refresh();          //---------------------------------export--------------------------          Microsoft.Reporting.WebForms.   Warning[] warnings;          string[] streamIds;          string mimeType = string.Empty;          string encoding = string.Empty;          string extension = string.Empty;          byte[] bytes = ReportViewer1.LocalReport.Render("EXCEL", null, out mimeType, out encoding, out extension, out streamIds, out warnings);          //支援的格式包括 Excel、PDF、Word 和 Image。            Response.Buffer = true;          Response.Clear();          Response.ContentType = mimeType;          Response.AddHeader("content-disposition", "attachment; filename=" + "Report1" + "." + extension);          Response.BinaryWrite(bytes); // create the file          Response.Flush(); // send it to the client to download      } 

报表设计

ReportView可以随画面大小缩放
设计工具
Height="100%" Width="100%" AsyncRendering="False" SizeToReportContent="True"
http://img2.58codes.com/2024/20106764Hu69SUBkr1.png
Ref
https://forums.asp.net/t/1556522.aspx?RDLC+Export+directly+to+Excel+or+PDF+from+codebehind


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章