Exécuter une fonction c# dans une vue
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 :massacre:
Vous avez des suggestions?
Le bouton :
Code:
<button type="button" class="btn btn-success" id="export_to_excel"></button>
Fonction d'export :
Code:
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));
} |