Bonjour,
J'ai une fonction qui me permet d'exporter une liste de clients vers un fichier Excel. Cette fonction est stocké dans un classe ClientTools qui regroupe plusieurs fonctions utiles pour la gestion des clients. L'idéal serais d'exécuter cette fonction dans ma vue quand j'appuis sur un bouton mais sans recharger la vue. J'ai essayé de trouver des exemples en javascript mais soit cela ne correspondait pas, soit j'ai pas compris
Vous avez des suggestions?
Le bouton :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part <button type="button" class="btn btn-success" id="export_to_excel"></button>
Fonction d'export :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 public static void ExportExcel(List<CLIENT> clients) { // Nom du fichier string excelFileName = "Fichier client.xlsx"; // Licence EPPLUS ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // Lancement de Excel ExcelPackage excel = new ExcelPackage(); // Création d'un feuille ExcelWorksheet workSheet = excel.Workbook.Worksheets.Add("Clients"); // Définition de la dimension du tableau ExcelRange tableRange = workSheet.Cells[1, 1, clients.Count() + 1, 4]; // En-tête du tableau workSheet.Cells[1, 1].Value = "Designation"; workSheet.Cells[1, 2].Value = "Adresse"; workSheet.Cells[1, 3].Value = "Ville"; workSheet.Cells[1, 4].Value = "Code postal"; // Données du tableau int indexLigne = 2; foreach (var client in clients) { workSheet.Cells[indexLigne, 1].Value = client.DESIGNATION workSheet.Cells[indexLigne, 2].Value = client.ADRESSE); workSheet.Cells[indexLigne, 3].Value = client.VILLE; workSheet.Cells[indexLigne, 4].Value = client.CP; indexLigne++; } // Création du tableau ExcelTable table = workSheet.Tables.Add(tableRange, "clientTable"); // Largeur automatique des colonne for (int indexColonne = 1; indexColonne < 4; indexColonne++) { workSheet.Column(indexColonne).AutoFit(); workSheet.Column(indexColonne).Width += 2; } // Alignement horizontal du texte tableRange.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; // Alignement vertical du texte tableRange.Style.VerticalAlignment = ExcelVerticalAlignment.Center; // Style du tableau table.TableStyle = TableStyles.Medium2; // Sauvegarde du fichier excel.SaveAs(new FileInfo(excelFileName)); }
Partager