关于报表导出支持JPG
老师好,目前遇到一个需求,希望报表导出支持JPG格式,群里郭老师表示可以支持,问题是我们现在实现方式为WebViewer的方式,其实导出和打印不提供,后来也是在这里发帖得到郭老师的指点才实现的。
代码如下:
$("#ExportSelect").change(function (e, args) {
var valueSelected = this.value;
if (viewModel.PageLoaded()) {
switch (valueSelected) {
case "PDF":
viewModel.Export(ExportType.Pdf, function (uri) {
window.location = uri;
}, true);
break;
case "Excel":
viewModel.Export(ExportType.Xls, function (uri) {
window.location = uri;
}, true);
break;
}
}
}
如何支持JPG还希望能给提供个例子。
另外还有一个问题就是,报表导出时默认保存的名字,能不能自己修改呢,比如定义成报表数据源中的项的动态值,这个怎么实现呢,还请老师指教。
您好,导出为图片格式只有页面报表和RDL报表才可以,区域报表不可以
具体实现代码如下:
private void ExportJPG(HttpContext context, PageReport pr)
{
GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(context.Server.MapPath("PageReport1.rdlx")));
GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);
// Create an output directory.
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"D:\MyImage");
outputDirectory.Create();
// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Image.Page.Settings imageSetting = new GrapeCity.ActiveReports.Export.Image.Page.Settings();
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = imageSetting;
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension imageRenderingExtension = new GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
// Overwrite output file if it already exists.
outputProvider.OverwriteOutputFile = true;
reportDocument.Render(imageRenderingExtension, outputProvider, imageSetting);
}
具体demo在附件
页:
[1]