Fermer

septembre 20, 2023

Exportation du contenu d’un WinForms GridView vers différents formats

Exportation du contenu d’un WinForms GridView vers différents formats


Intégrez l’interface utilisateur Telerik pour WinForms et les bibliothèques de traitement de documents avec un ensemble complet de formats de fichiers pris en charge par RadGridView et sa fonctionnalité d’exportation.

L’intégration harmonieuse entre Progress Interface utilisateur Telerik pour la suite WinForms et le Bibliothèques de traitement de documents apporte un ensemble complet de formats de fichiers pris en charge par RadGridView et son fonctionnalité d’exportation.

RadGridView peut être exporté vers XLSX (XLS*), CSV, PDF, TXT et HTML. Compte tenu du nombre d’enregistrements et de l’importance des paramètres de style pour le fichier généré, nous pouvons optimiser le temps d’exportation en exécutant l’exportation de manière asynchrone. Familiarisons-nous avec toutes les options dont vous disposez lorsque vous générez un fichier avec les données stockées dans le contrôle de grille.

csv, xls, txt, pdf

Exporter avec RadSpreadProcessing

GridViewSpreadExport utilise notre Traitement RadSpread bibliothèque pour exporter le contenu de RadGridView aux formats XLSX (XLS*), CSV, PDF et TXT.

La fonctionnalité d’exportation répartie nécessite l’assembly TelerikExport.dll. Pour accéder aux types dans TelerikExport, vous devez inclure l’assembly dans votre projet et référencer l’espace de noms Telerik.WinControls.Export.

GridViewSpreadExport spreadExporter = new GridViewSpreadExport(this.radGridView1);
SpreadExportRenderer exportRenderer = new SpreadExportRenderer();
string fileName = @"..\..\exportedFile.xlsx";
spreadExporter.RunExport(fileName, exportRenderer);
Process.Start(fileName);

GridViewSpreadExport

*L’exportation d’images n’est pas disponible dans le fournisseur de format XLS.

Vous remarquerez que les paramètres par défaut pour l’exportation n’apporteraient pas la même apparence au fichier exporté. Si vous devez obtenir un style aussi proche que possible du style disponible dans la grille à l’intérieur du fichier exporté, comme la largeur ou la police des colonnes, vous pouvez activer l’option Exporter les paramètres visuels propriété ou gérer le Formatage des cellules événement et appliquez tous les changements de style dont vous avez besoin.

vérification des cellules pour préserver le formatage des cellules lors de l'exportation en mode grille

Plus d’informations sur l’API publique proposée par GridViewSpreadExport sont disponibles dans le Propriétés et Événements sections de la documentation en ligne.

Chaque colonne de RadGridView a un ExcelExportType propriété que vous pouvez utiliser pour définir explicitement le type de données des cellules dans le document exporté.

Pour modifier le format des données exportées : Définissez le ExcelExportType propriété de la colonne spécifique à Coutume et préciser le ExcelExportFormatString propriété avec le format souhaité. (En savoir plus.)

this.radGridView1.Columns["ProductID"].ExcelExportType = Telerik.WinControls.UI.Export.DisplayFormatType.Custom;
this.radGridView1.Columns["ProductID"].ExcelExportFormatString = "#.#";
this.radGridView1.Columns["Unitprice"].ExcelExportType = Telerik.WinControls.UI.Export.DisplayFormatType.Currency;

Les colonnes Product ID et UnitPrice ont été soulignées par un cadre rouge.  Lors de l'export, le point est supprimé de l'ID du produit et le formatage de la devise est supprimé du prix unitaire.

Le ExportFormat La propriété définit le format dans lequel la grille sera exportée. Les valeurs disponibles sont :

La valeur par défaut de la propriété est XLSX. Par conséquent, sauf indication contraire, l’exportateur exportera vers XLSX.

Exporter avec RadSpreadStreamProcessing

Lorsqu’il s’agit d’un scénario d’exportation d’une grille contenant un grand nombre d’enregistrements, par exemple 100 000 lignes, la génération du fichier d’exportation avec GridViewSpreadExport peut prendre un certain temps.

Après avoir effectué un test rapide, il a fallu environ 50 secondes exporter 100K enregistrements avec GridViewSpreadExport :

51540 millisecondes

Voici le GridViewSpreadStreamExport qui utilise le RadSpreadStreamProcessing bibliothèque qui permet de créer de gros documents (sans charger l’intégralité du document en mémoire) et de les exporter vers les formats les plus courants. Ainsi, vous pouvez optimiser le temps d’exportation et la consommation de mémoire.

GridViewSpreadStreamExport spreadStreamExport = new GridViewSpreadStreamExport(this.radGridView1);
spreadStreamExport.ExportVisualSettings = true;
string fileName = @"..\..\exportedFile.xlsx";
spreadStreamExport.RunExport(fileName, new SpreadStreamExportRenderer());

En conséquence, le même nombre de lignes de grille est exporté beaucoup plus rapidement avec l’exportation de flux dans environ 20 secondes :

21761 millisecondes

Une liste complète de l’API publique et des réglages précis du fichier exporté peut être trouvée ici.

Exporter avec RadPdfProcessing

Les données de RadGridView peuvent être exportées nativement au format PDF en GridViewPdfExportqui utilise le puissant Traitement RadPdf bibliothèque.

La fonctionnalité GridViewPdfExport se trouve également dans l’assembly TelerikExport.dll. Vous devez inclure l’espace de noms suivant pour accéder aux types contenus dans TelerikExport : Telerik.WinControls.Export.

Telerik.WinControls.Export.GridViewPdfExport pdfExporter = new Telerik.WinControls.Export.GridViewPdfExport(this.radGridView1);
pdfExporter.FileExtension = "pdf";
pdfExporter.HiddenColumnOption = Telerik.WinControls.UI.Export.HiddenOption.DoNotExport; ;
pdfExporter.ShowHeaderAndFooter = true;

pdfExporter.HeaderHeight = 30;
pdfExporter.HeaderFont = new Font("Arial", 22);
pdfExporter.Logo = System.Drawing.Image.FromFile(@"C:\MyLogo.png");
pdfExporter.LeftHeader = "[Logo]";
pdfExporter.LogoAlignment = ContentAlignment.MiddleLeft;
pdfExporter.LogoLayout = Telerik.WinControls.Export.LogoLayout.Fit;

pdfExporter.MiddleHeader = "Middle header";
pdfExporter.RightHeader = "Right header";
pdfExporter.ReverseHeaderOnEvenPages = true;

pdfExporter.FooterHeight = 30;
pdfExporter.FooterFont = new Font("Arial", 22);
pdfExporter.LeftFooter = "Left footer";
pdfExporter.MiddleFooter = "Middle footer";
pdfExporter.RightFooter = "Right footer";
pdfExporter.ReverseFooterOnEvenPages = true;

pdfExporter.FitToPageWidth = true;
string fileName = @"..\..\exportedFile.pdf";
pdfExporter.RunExport(fileName, new Telerik.WinControls.Export.PdfExportRenderer());

Le fichier PDF comporte un logo, un en-tête central et un en-tête droit.

Une fois que vous avez exporté le contenu de la grille vers l’un des formats de fichiers mentionnés ci-dessus, à l’aide du Bibliothèques de traitement de documents il est possible de gérer davantage le fichier et de le convertir vers tout autre format pris en charge par le DPL.

Exporter vers HTML

Si vous devez exporter le contenu de la grille au format HTML, il convient d’utiliser le Exporter vers HTML classe. Il offre d’excellentes performances d’exportation et crée un fichier au format HTML, qui peut être ouvert dans un navigateur ou MS Word. Cependant, l’export HTML est assez ancien et son API est très limitée.

C’est pourquoi nous nous efforçons d’utiliser autant que possible la riche API de notre Bibliothèques de traitement de documents pour exporter le RadGridView. Il comprend un ensemble de bibliothèques multiplateformes qui vous permettent d’importer et d’exporter du contenu entre différents formats et de travailler avec des fichiers d’archives.

Essayez-le gratuitement

Essayez GridView et 160 autres contrôles de Interface utilisateur Telerik pour WinForms aujourd’hui avec notre essai gratuit :

Essayez l’interface utilisateur Telerik pour WinForms

Mieux encore, essayez l’interface utilisateur Telerik pour WinForms et Bibliothèques de traitement de documents (et plein d’autres bonnes choses) avec Telerik DevCraft-la suite de composants d’interface utilisateur la plus complète sur laquelle vous pouvez mettre la main :

Essayez Telerik DevCraft




Source link

septembre 20, 2023