![]() |
|
| Article Rédigé pour |
![]() |
11/10/2003
Par
Elise Dupont
niveau : facile
durée : de 20 à 45 minutes
Version PDF à télécharger
Code Source Exemple VB.NET
Code Source Exemple C#
Droit de diffusion:
L'ensemble ou partie de ce document ainsi que le code mis à disposition, ne peut être diffusé sur d'autres sites Web sans l'autorisation au préalable de son créateur.
Avant Propos :
Vous avez des utilisateurs (du département finance par exemple) qui adorent Excel, et qui vous demandent tout le temps des rapports Excel ? Non ? Vous avez de la chance, moi si ;-)
Voici un petit article qui vous explique comment exporter vos données (un Dataset par exemple) depuis une application ASP.Net vers un fichier Excel avec un graphique, des moyennes, etc... Libre à vous ensuite d’adapter à vos besoins, mais cet exemple vous donnera une idée des possibilités.
Je vous conseille vivement de télécharger la Démo avec Code Source, choisissez votre langage préféré (vous avez le choix entre
VB.Net
et
C # ), installez tout ça et testez par vous même, c’est le meilleur moyen pour apprendre. Cet exemple tourne sous Office XP.
C’est partit !
Consultez
la suite de ce tutoriel
: elle va plus en profondeur sur quelle méthode choisir, les avantages et les inconvénients de chacunes.
Visual Basic .NET
1: oExcelApp = New Excel.ApplicationClass() 'Creer l’objet Excel 2: oExcelApp.Visible = False 'Ne pas l’afficher 3: oBooks = oExcelApp.Workbooks
4: 'ouvrir le fichier Excel désiré (oRien=System.Reflection.Missing.Value) 5: oBook = oBooks.Open("monfichierexcel.xls", oRien, oRien, oRien, oRien, oRien, 6: 'ouvrir la feuille n° nIndex 7: oSheet = oBook.Worksheets(nIndex)
|
C#
1: // Créer l’objet Excel 2: oExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); 3: oExcelApp.Visible = false; // Ne pas l’afficher 4: oBooks = oExcelApp.Workbooks;
5: ouvrir le fichier Excel désiré (oRien=System.Reflection.Missing.Value)
6: oBook = oBooks.Open("monfichierexcel.xls", oRien, oRien, oRien, oRien, oRien, 7: //ouvrir la feuille n° nIndex 8: oSheet = oBook.Worksheets(nIndex);
|
Visual Basic .NET
1: For Each oCol In dtData.Columns 2: nCol += 1
3: oSheet.Cells(1, nCol) = oCol.ColumnName
4: Next oCol 5: 'Remplir ligne par ligne, colonne par colonne avec les données 6: For Each oRow In dtData.Rows 7: nCol = 0
8: nRow += 1
9: For Each oCol In dtData.Columns 10: nCol += 1
11: oSheet.Cells(nRow, nCol) = oRow(oCol.ColumnName).ToString()
12: Next oCol 13: Next oRow |
C#
1: foreach(DataColumn oCol in dtData.Columns) 2: {
3: nCol += 1;
4: oSheet.Cells[1, nCol] = oCol.ColumnName;
5: }
6: //Remplir ligne par ligne, colonne par colonne avec les données 7: foreach(DataRow oRow in dtData.Rows) 8: {
9: nCol = 0;
10: nRow += 1;
11: foreach (oCol in dtData.Columns) 12: {
13: nCol += 1;
14: oSheet.Cells[nRow, nCol] = oRow[oCol.ColumnName].ToString();
15: }
16: }
17:
|
Visual Basic .NET
1: If Not IsNothing(oBook) Then oBook.Close(True, strTemplate, oRien) 2: If Not IsNothing(oSheet) Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet) 3: oSheet = Nothing 4: If Not IsNothing(oBook) Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook) 5: oBook = Nothing 6: If Not IsNothing(oBooks) Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks) 7: oBooks = Nothing 8: If Not IsNothing(oExcelApp) Then 9: oExcelApp.Quit()
10: System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcelApp) oExcelApp = Nothing 11: End If |
C#
1: if (oBook != null) oBook.Close(true, strTemplate, oRien); 2: if (oSheet != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet); 3: oSheet = null; 4: if (oBook != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook) 5: oBook = null; 6: if (oBooks != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks) 7: oBooks = null; 8: if (oExcelApp != null) 9: {
10: oExcelApp.Quit();
11: System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcelApp) oExcelApp = null; 12: }
|
Visual Basic .NET
1: Response.Clear()
2: Response.ContentType = "application/x-msexcel" 3: Response.AddHeader("Content-Disposition", "inline; filename=MyReport.xls") 4: Response.WriteFile(oReport.ReportTemplate.ToString)
|
C#
1: Response.Clear();
2: Response.ContentType = "application/x-msexcel"; 3: Response.AddHeader("Content-Disposition", "inline; filename=MyReport.xls"); 4: Response.WriteFile(oReport.ReportTemplate);
|
| Accueil - Tutoriels & Articles - Liens - A Propos de l'auteur | ![]() |