• 葡萄城报表-导出输出


    1.使用XlsExport导出

    以导出excel格式为例,XlsExport能够支持所有的报表类型

      GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("/Reports/" + report + ".rdlx")));
                _reportDef.Report.DataSources[0].DataSourceReference = "";
                _reportDef.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";
                _reportDef.Report.DataSources[0].ConnectionProperties.ConnectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/Data/NWind_CHS.mdb"));
                GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
                
                GrapeCity.ActiveReports.Export.Excel.Section.XlsExport XlsExport1 = new GrapeCity.ActiveReports.Export.Excel.Section.XlsExport();
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                XlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx;
                XlsExport1.Export(_reportRuntime, ms);
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-disposition", Server.UrlPathEncode("attachment;filename=MyExport.xlsx"));
                Response.BinaryWrite(ms.ToArray());
                Response.End();

    2.使用Render的方式导出

    Render只能用来导出页面报表和RDL报表,但是对性能和样式都有很大的提升

    GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("/Reports/" + report + ".rdlx")));
                _reportDef.Report.DataSources[0].DataSourceReference = "";
                _reportDef.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";
                _reportDef.Report.DataSources[0].ConnectionProperties.ConnectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/Data/NWind_CHS.mdb"));
                GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
                // Create an output directory
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                // Provide settings for your rendering output.
                GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings
                excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
                excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xls;
                //excelSetting.MultiSheet = false;
                GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;
                //Set the rendering extension and render the report.
                GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension
                excelRenderingExtension = new
                GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
                GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
                _reportRuntime.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
                Response.ContentType = "application/vnd.ms-excel";
                Response.AddHeader("content-disposition", "inline;filename=MyExport.xls");
                outputProvider.GetPrimaryStream().OpenStream().CopyTo(ms);
                Response.BinaryWrite(ms.ToArray());
                Response.End();


  • 相关阅读:
    Android用户界面UI组件--AdapterView及其子类(五) Spinner和SpinnerAdapter
    Android用户界面UI组件--AdapterView及其子类(四) GridView
    Android用户界面UI组件--AdapterView及其子类(三) ExpandableListView
    Android用户界面 UI组件--AdapterView及其子类(二) AdapterViewAnimator及其子类
    Navigation Drawer介绍
    Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
    draw9patch超详细教程
    主线程中有多个handler的情况
    Python服务器开发二:Python网络基础
    shell脚本实现无密码交互的SSH自动登陆
  • 原文地址:https://www.cnblogs.com/xzpblog/p/5117899.html
Copyright © 2020-2023  润新知