Pour lire un fichier Crystal Reports dans une application VB.NET, vous devez charger le fichier .rpt et afficher son contenu dans un contrôle comme le CrystalReportViewer. Voici un guide détaillé pour lire un fichier Crystal Reports.
CrystalDecisions.CrystalReports.EngineCrystalDecisions.ReportSourceCrystalDecisions.SharedCrystalDecisions.Windows.FormsPour lire et afficher un rapport dans une application Windows Forms, ajoutez un contrôle CrystalReportViewer à votre formulaire :
Ajoutez le code pour charger et afficher un rapport .rpt dans le CrystalReportViewer.
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
' Créer une instance du rapport
Dim reportDocument As New ReportDocument()
' Charger le fichier Crystal Reports
Dim reportPath As String = "C:\Chemin\Vers\VotreRapport.rpt"
reportDocument.Load(reportPath)
' Si le rapport nécessite une connexion à une base de données
Dim connectionInfo As New ConnectionInfo()
connectionInfo.ServerName = "NomServeur"
connectionInfo.DatabaseName = "NomBaseDeDonnees"
connectionInfo.UserID = "Utilisateur"
connectionInfo.Password = "MotDePasse"
' Appliquer les informations de connexion à toutes les tables du rapport
For Each table As Table In reportDocument.Database.Tables
Dim logonInfo As TableLogOnInfo = table.LogOnInfo
logonInfo.ConnectionInfo = connectionInfo
table.ApplyLogOnInfo(logonInfo)
Next
' Lier le rapport au CrystalReportViewer
CrystalReportViewer1.ReportSource = reportDocument
' Rafraîchir le rapport pour s'assurer qu'il est mis à jour
CrystalReportViewer1.Refresh()
Catch ex As Exception
MessageBox.Show($"Erreur lors du chargement du rapport : {ex.Message}", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
Load de ReportDocument est utilisée pour charger le fichier .rpt.ConnectionInfo.ApplyLogOnInfo.ReportDocument à la propriété ReportSource du CrystalReportViewer.Si votre rapport utilise des paramètres, vous devez les définir avant d’afficher le rapport.
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()
Dim paramValue As New ParameterDiscreteValue()
' Ajouter un paramètre au rapport
paramField.Name = "NomDuParametre"
paramValue.Value = "ValeurDuParametre"
paramField.CurrentValues.Add(paramValue)
paramFields.Add(paramField)
CrystalReportViewer1.ParameterFieldInfo = paramFields
Vous pouvez également lire le rapport et l’exporter au format PDF, Excel ou Word.
Dim exportPath As String = "C:\Chemin\Vers\RapportExporté.pdf"
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, exportPath)
MessageBox.Show("Rapport exporté avec succès !")
.rpt est correct. Utilisez Application.StartupPath pour un chemin relatif.Pour rendre votre application plus flexible, utilisez un chemin dynamique pour le fichier .rpt.
Dim reportPath As String = System.IO.Path.Combine(Application.StartupPath, "Rapports\VotreRapport.rpt")
reportDocument.Load(reportPath)
Si vous développez une application Web, utilisez le CrystalReportViewer dans une page ASP.NET.
Imports CrystalDecisions.CrystalReports.Engine
Public Class WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim reportDocument As New ReportDocument()
Dim reportPath As String = Server.MapPath("Rapports/VotreRapport.rpt")
reportDocument.Load(reportPath)
CrystalReportViewer1.ReportSource = reportDocument
CrystalReportViewer1.RefreshReport()
End If
End Sub
End Class
Pour exporter un rapport Crystal Reports en PDF dans une application VB.NET, vous pouvez utiliser la méthode ExportToDisk ou ExportToStream de l’objet ReportDocument. Voici un guide détaillé.
CrystalDecisions.CrystalReports.EngineCrystalDecisions.Shared.rpt) : Voici le code de base pour exporter un rapport Crystal Reports en PDF.
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Module ExportCrystalReports
Sub Main()
Try
' Créer une instance du rapport
Dim reportDocument As New ReportDocument()
' Chemin du fichier Crystal Reports
Dim reportPath As String = "C:\Chemin\Vers\VotreRapport.rpt"
reportDocument.Load(reportPath)
' Exporter le rapport en PDF
Dim exportPath As String = "C:\Chemin\Vers\RapportExporté.pdf"
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, exportPath)
Console.WriteLine("Rapport exporté avec succès : " & exportPath)
Catch ex As Exception
Console.WriteLine("Erreur lors de l'exportation : " & ex.Message)
End Try
End Sub
End Module
Si votre rapport utilise une base de données, configurez les informations de connexion avant l’exportation.
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Module ExportCrystalReportsWithDB
Sub Main()
Try
' Créer une instance du rapport
Dim reportDocument As New ReportDocument()
' Charger le fichier de rapport
Dim reportPath As String = "C:\Chemin\Vers\VotreRapport.rpt"
reportDocument.Load(reportPath)
' Configurer les informations de connexion
Dim connectionInfo As New ConnectionInfo()
connectionInfo.ServerName = "NomServeur"
connectionInfo.DatabaseName = "NomBaseDeDonnees"
connectionInfo.UserID = "Utilisateur"
connectionInfo.Password = "MotDePasse"
' Appliquer les informations de connexion à toutes les tables
For Each table As Table In reportDocument.Database.Tables
Dim logonInfo As TableLogOnInfo = table.LogOnInfo
logonInfo.ConnectionInfo = connectionInfo
table.ApplyLogOnInfo(logonInfo)
Next
' Exporter le rapport en PDF
Dim exportPath As String = "C:\Chemin\Vers\RapportExporté.pdf"
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, exportPath)
Console.WriteLine("Rapport exporté avec succès : " & exportPath)
Catch ex As Exception
Console.WriteLine("Erreur lors de l'exportation : " & ex.Message)
End Try
End Sub
End Module
Si vous voulez manipuler le fichier PDF avant de le sauvegarder, utilisez un Stream.
Imports System.IO
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Module ExportToStream
Sub Main()
Try
' Créer une instance du rapport
Dim reportDocument As New ReportDocument()
' Charger le fichier de rapport
Dim reportPath As String = "C:\Chemin\Vers\VotreRapport.rpt"
reportDocument.Load(reportPath)
' Exporter le rapport en flux PDF
Dim pdfStream As Stream = reportDocument.ExportToStream(ExportFormatType.PortableDocFormat)
' Enregistrer le flux en tant que fichier PDF
Dim exportPath As String = "C:\Chemin\Vers\RapportStream.pdf"
Using fileStream As New FileStream(exportPath, FileMode.Create, FileAccess.Write)
pdfStream.CopyTo(fileStream)
End Using
Console.WriteLine("Rapport exporté avec succès depuis le flux : " & exportPath)
Catch ex As Exception
Console.WriteLine("Erreur lors de l'exportation : " & ex.Message)
End Try
End Sub
End Module
Si votre rapport accepte des paramètres, vous pouvez les définir avant l’exportation.
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Module ExportWithParameters
Sub Main()
Try
' Créer une instance du rapport
Dim reportDocument As New ReportDocument()
Dim reportPath As String = "C:\Chemin\Vers\VotreRapport.rpt"
reportDocument.Load(reportPath)
' Ajouter un paramètre
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()
Dim paramValue As New ParameterDiscreteValue()
paramField.Name = "NomDuParametre"
paramValue.Value = "ValeurDuParametre"
paramField.CurrentValues.Add(paramValue)
paramFields.Add(paramField)
' Assigner les paramètres au rapport
reportDocument.SetParameterValue("NomDuParametre", "ValeurDuParametre")
' Exporter le rapport en PDF
Dim exportPath As String = "C:\Chemin\Vers\RapportParametre.pdf"
reportDocument.ExportToDisk(ExportFormatType.PortableDocFormat, exportPath)
Console.WriteLine("Rapport exporté avec succès avec paramètres : " & exportPath)
Catch ex As Exception
Console.WriteLine("Erreur lors de l'exportation : " & ex.Message)
End Try
End Sub
End Module
.rpt est correct. Utilisez System.IO.Path.Combine pour des chemins dynamiques.reportDocument.Close() et reportDocument.Dispose() après chaque exportation.Outre le PDF, vous pouvez exporter dans d’autres formats comme Excel ou Word.
' Exportation au format Excel
reportDocument.ExportToDisk(ExportFormatType.Excel, "C:\Chemin\Vers\RapportExcel.xls")
' Exportation au format Word
reportDocument.ExportToDisk(ExportFormatType.WordForWindows, "C:\Chemin\Vers\RapportWord.doc")
Deux outils concrets pour piloter la qualité sans alourdir vos équipes Cette page met à…
Un chantier se gagne souvent avant même l’arrivée des équipes. Quand tout est clair dès…
Le mariage a du sens quand il repose sur une décision libre, mûrie et partagée.…
Une étude de cas réussie commence par une structure sûre. Ce modèle Word vous guide…
Les soft skills se repèrent vite sur une fiche, mais elles ne pèsent vraiment que…
Outil de comparaison et repérage des offres étudiantes Choisir des verres progressifs ressemble rarement à…
This website uses cookies.