ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

exporter vers excel depuis dotnet et strataframe   



L'auteur

eric leissler
France France
Membre Simple
# 0000002784
enregistré le 06/03/2010
http://www.aumeric.fr
68 ans
LEISSLER Eric
85290 MORTAGNE SUR SEVRE
de la société AUMERIC LOGICIELS
Fiche personnelle


Note des membres
pas de note

Contributions > 80 dotnet > 03 - Strataframe

exporter vers excel depuis dotnet et strataframe
# 0000000825
ajouté le 07/06/2012 16:34:58 et modifié le 07/06/2012
consulté 8156 fois
Niveau débutant

Description

TongueBonjour à tous

Vous avez peut être remarqué que dans strataframe, il y a une classe excelhelpers qui contient une méthode exportexcel.

Malheureusement sur une machine en 64 bits, cette classe ne fonctionne pas car il faut que le moteur jet soit inscrit!

Il existe de quoi le télécharger sur le site de crosoft mais ce serait trop simple, si vous avez un pack office 32 bits, vous ne pouvez pas installer ce pack w00t

alors comment faire car ce serait bien pratique de pouvoir mettre monbo.exportexcel("c:\mondossier\monfichier.xls") et que l'export se fasse. Whistling
Réjouissez vous car voici le code qui vous permet de faire cela Tongue

vous avez surement un bo de base, soit dans votre projet, soit dans un projet dll . Pour ma part c'est dans un projet dll qui se nomme baseric et mon bo de base s'appelle baseric_bo

Dans votre projet, il faut insérer le composant microsoft excel 14.0 Object library (pour la version office 2010. vous trouverez ce composant dans l'onglet com

Voici le code qu'il faut insérer

et bien sur sur http://www.strataframe.fr

Bonne journée à tous



Code source :
Public Function exportversexcel(monfic As StringAs Boolean
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
xlBook = CType(xlApp.Workbooks.Add, Microsoft.Office.Interop.Excel.Workbook)
xlSheet = CType(xlBook.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet)

Dim i As Integer
Dim j As Integer
j = 2
For i = 0 To Me.CurrentDataTable.Columns.Count - 1
xlSheet.Cells(1, i + 1) = Me.CurrentDataTable.Columns(i).ColumnName
Next

For Each ele As baseric.baseric_BO In Me.GetEnumerable
'----------remplacez baseric.baseric_BO par le nom de votre projet, et le nom de votre bo de base '
For i = 0 To Me.CurrentDataTable.Columns.Count - 1
xlSheet.Cells(j, i + 1) = ele.Item(ele.CurrentDataTable.Columns(i).ColumnName)
Next
j = j + 1
Next
xlSheet.Application.Visible = True
xlSheet.SaveAs(monfic)
End Function


Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3