将图表导出为RDLC报告

时间:2013-06-05 07:03:18

标签: c# asp.net rdlc

我有一个客户端有图表的页面。现在这个图表需要放在RDLC报告中。 我在System.Drawing.Image中收集了图表的图像,但不知道如何将它放在RDLC中。

2 个答案:

答案 0 :(得分:0)

我将图像绑定到其中一个列,然后将其绑定到数据集以将图像提取到RDLC报告中。 这是代码......

DataTable dt = new DataTable();
        DataColumn column = new DataColumn("chart");
        column.DataType = System.Type.GetType("System.Byte[]");
        dt.Columns.Add(column);
        DataRow dr = dt.NewRow();

        //Saving the Image of Graph into memory stream
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        Chart1.SaveImage(ms, ChartImageFormat.Png);

        byte[] ByteImage = new byte[ms.Length];
        ms.Position = 0;
        ms.Read(ByteImage, 0, (int)ms.Length);


        dr["chart"] = ByteImage;
        string s = dr[0].ToString();
        dt.Rows.Add(dr);


        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";

        ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1",dt));
        ReportViewer1.Visible = true;
        ReportViewer1.LocalReport.Refresh();

答案 1 :(得分:0)

我建议关注。

  1. 通过传递用于在该页面上绘制图表的相同内容,为该图表创建RDLC报告。这种方法对您非常有帮助,您可以根据客户要求进行修改。

  2. 您可以将图像设置为RDLC。使用RDLC图像控制。将图片完整路径传递给您将在RDLC报告中使用的数据集。