Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Hello !
Voici un bout de script pour enregistrer le contenu de vos datawindows en format excel.
test effectué sur pb7, normalement ca devrait fonctionner sous pb6 et +
importer ce script (fonction globale) :
$PBExportHeader$f_saveas_excel.srf $PBExportComments$enregistre la datawindow en format excel global type f_saveas_excel from function_object end type forward prototypes global function integer f_saveas_excel (datawindow adw_dw, string as_docname) end prototypes global function integer f_saveas_excel (datawindow adw_dw, string as_docname);/////////////////////////////////////////////////////////////////////////////////////////////////////// // Converting DataWindow to Excel file /////////////////////////////////////////////////////////////////////////////////////////////////////// // Export DataWindow to Excel including computed-columns, headers, footers, groups, text labels, etc... /////////////////////////////////////////////////////////////////////////////////////////////////////// // ... Init docname // ... GetFileOpenName or any other method // IF adw_dw.SaveAs( as_docname, HTMLTable!, TRUE ) = -1 THEN MessageBox("Attention", "Impossible d'exporter la datawindow en format HTML!", Exclamation!) RETURN -1 END IF // // Convert HTML file to Excel native format OLEObject Excel Excel = CREATE OLEObject // IF Excel.ConnectToObject( as_docname ) = 0 THEN Excel.Application.DisplayAlerts = FALSE Excel.Application.Workbooks( 1 ).Parent.Windows( excel.Application.workbooks( 1 ).Name ).Visible = TRUE // Excel.Application.Workbooks( 1 ).SaveAs(as_docname, 39 ) ; Excel.Application.Workbooks( 1 ).SaveAs(as_docname, 1 ) // SKA jan 2005 Excel.Application.Workbooks( 1 ).Close() END IF // DESTROY excel // // ...Done return 1 end function
et pour le script d'appel :
f_saveas_excel(dw_detail,'c:/test_pb.xls')
et voila, le tour est joué !
Hors ligne
Très utile, merci beaucoup pour ce script
Juste une ou deux petites remarques : Pb 10.2.0 build 8075
- il me sauvegarde mon numéro de page "1/1" en tant que "01-jan"
- lors de l'ouverture du fichier il y a Microsoft Excel qui me dit que le contenu du fichier est différent de celui spécifié par l'extension du fichier (.xls). Il m'autorise à l'ouvrir si je le souhaite. Dans mon cas c'est problématique, car j'exporte le fichier excel dans un répertoire temp avant de faire appel à PKZIP pour le zipper et le copier ailleurs : c'est donc lors du zippage que ce message survient.
Dernière modification par Nyphel (01-08-2008 13:15:49)
Hors ligne
Pages: 1