Est-ce que quelqu'un sait si vous pouvez enregistrer programmatiquement un rapport affiché dans un contrôle ReportViewer en C #? P>
Lorsqu'un rapport est affiché, il existe des boutons "Exporter vers ..." et je voudrais automatiser la fonction d'économie de PDF. P>
3 Réponses :
Vous pouvez le faire avec ReportViewer Control (avec méthode localReporT.Render ), chèque " Email un rapport "Exemple sur le http://www.gotreportviewer.com/ p>
string _sPathFilePDF = String.Empty; String v_mimetype; String v_encoding; String v_filename_extension; String[] v_streamids; Microsoft.Reporting.WinForms.Warning[] warnings; string _sSuggestedName = String.Empty; Microsoft.Reporting.WinForms.ReportViewer reportViewer1; Microsoft.Reporting.WinForms.LocalReport objRDLC = new Microsoft.Reporting.WinForms.LocalReport(); reportViewer1.LocalReport.ReportEmbeddedResource = "reportViewer1.rdlc"; reportViewer1.LocalReport.DisplayName = _sSuggestedName; objRDLC.DataSources.Clear(); byte[] byteViewer = rptvFlightPlan.LocalReport.Render("PDF", null, out v_mimetype, out v_encoding, out v_filename_extension, out v_streamids, out warnings); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "*PDF files (*.pdf)|*.pdf"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; saveFileDialog1.FileName = _sSuggestedName; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { FileStream newFile = new FileStream(saveFileDialog1.FileName, FileMode.Create); newFile.Write(byteViewer, 0, byteViewer.Length); newFile.Close(); }
Merci beaucoup. Cela a fonctionné pour moi. Je suis reconnaissant :) Je n'étais même pas conscient que de telles choses pourraient être faites, j'essayais de demander la page de rapport et de pirater le code HTML / JS résultant dans :)
Vous ne pouvez pas exporter vers un événement aussi loin que ReportViewer code> sur les formulaires Web sont concernés. P>