我需要将报表查看器 RDLC 导出为可能是任何图像格式的图像。
当将输出格式设置为 PNG 甚至 JPEG 时,我得到了预期,如下所示:
如果我尝试使用 EMF,它会成功,但不适用于其他格式,如 JPEG 或 PNG。除此之外,我怎样才能将这个输出图像保存在磁盘上?
谢谢您的帮助!
我需要将报表查看器 RDLC 导出为可能是任何图像格式的图像。
当将输出格式设置为 PNG 甚至 JPEG 时,我得到了预期,如下所示:
如果我尝试使用 EMF,它会成功,但不适用于其他格式,如 JPEG 或 PNG。除此之外,我怎样才能将这个输出图像保存在磁盘上?
谢谢您的帮助!
可以通过下面的代码实现所需的解决方案
var byts = report.Render("Image", "<DeviceInfo><OutputFormat>PNG</OutputFormat></DeviceInfo>");
File.WriteAllBytes("c:\\test.png", byts);
或者您也可以使用以下代码下载图像。或者您可以将您的报告类型更改为(pdf、word 或 excel)以及将 outputFormats 更改为(分别为 pdf、doc、xls),以便将报告导出为 pdf、word 或 excel。
string reportType = "Image";
string outputFormat = "jpg";
byte[] renderedBytes = report.Render(reportType, null);
/* Download File.....*/
Response.Buffer = true;
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition", "attachment; filename=" + DateTime.Now.ToString("ddMMyyyyhhmmss") + "." + outputFormat);
Response.BinaryWrite(renderedBytes);
Response.Flush();