static void Main(string[] args)
        {
            // Provide the page report you want to render.
            System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\reports\Categories.rdlx");
            GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);

            // Create an output directory.
            System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"..\..\ActiveReportsPDF");
            outputDirectory.Create();

            // Provide settings for your rendering output.
            GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();

            // Set the rendering extension and render the report.
            GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
            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;

            pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting);
        }
Exemplo n.º 2
0
        private void exportButton_Click(object sender, EventArgs e)
        {
            var reportName = (string)reportsNames.SelectedItem;
            var exportType = (string)exportTypes.SelectedItem;
            IRenderingExtension renderingExtension = null;
            NameValueCollection settings           = null;
            var exporTypeLower = exportType.ToLower();

            switch (exporTypeLower)
            {
            case _pdf:
                renderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
                settings           = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
                break;

            case _xlsx:
                renderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
                ISettings excelSettings = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings()
                {
                    FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xlsx
                };
                settings = excelSettings.GetSettings();
                break;

            case _csv:
                settings = new GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension.Settings()
                {
                    ColumnsDelimiter = ",",
                    RowsDelimiter    = "\r\n",
                    QuotationSymbol  = '"',
                    Encoding         = Encoding.UTF8
                };
                renderingExtension = new GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension();
                break;

            case _docx:
                renderingExtension = new GrapeCity.ActiveReports.Export.Word.Page.WordRenderingExtension();
                settings           = new GrapeCity.ActiveReports.Export.Word.Page.Settings()
                {
                    FileFormat = GrapeCity.ActiveReports.Export.Word.Page.FileFormat.OOXML
                };

                break;

            case _mht:
                renderingExtension = new GrapeCity.ActiveReports.Export.Html.Page.HtmlRenderingExtension();
                settings           = new GrapeCity.ActiveReports.Export.Html.Page.Settings()
                {
                    MhtOutput = true, OutputTOC = true, Fragment = false
                };

                break;

            case _json:
                settings = new GrapeCity.ActiveReports.Export.Text.Page.JsonRenderingExtension.Settings()
                {
                    Formatted = true
                };
                renderingExtension = new GrapeCity.ActiveReports.Export.Text.Page.JsonRenderingExtension();
                break;
            }

            var report         = new PageReport(new FileInfo(@"..\..\..\..\Reports\" + reportName));
            var fileName       = Path.GetFileNameWithoutExtension(reportName);
            var saveFileDialog = new SaveFileDialog()
            {
                FileName = fileName + GetSaveDialogExtension(exporTypeLower),
                Filter   = GetSaveDialogFilter(exporTypeLower)
            };

            if (saveFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var outputDirectory = new DirectoryInfo(Path.GetDirectoryName(saveFileDialog.FileName));
            var outputProvider  = new FileStreamProvider(outputDirectory, Path.GetFileNameWithoutExtension(saveFileDialog.FileName));

            outputProvider.OverwriteOutputFile = true;

            exportButton.Enabled = false;
            report.Document.Render(renderingExtension, outputProvider, settings);
            exportButton.Enabled = true;
        }