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.Engine
CrystalDecisions.ReportSource
CrystalDecisions.Shared
CrystalDecisions.Windows.Forms
Pour 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.Engine
CrystalDecisions.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")
La tenue de registres est une méthode essentielle pour organiser et gérer des informations de…
La critique littéraire est une approche qui consiste à analyser, interpréter et évaluer un texte…
La méthode de lecture Paul et Suzanne est une méthode syllabique qui repose sur un…
La logistique est le moteur silencieux derrière la réussite de tout événement ou projet. Bien…
La résolution de problèmes est une compétence essentielle dans divers contextes professionnels et personnels. Ce…
Le problème des files d’attente est courant dans de nombreux domaines (services clients, production, logistique)…
This website uses cookies.