Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

#1 24-06-2010 15:41:58

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

[RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

Bonjour,

Je souhaiterais importer plusieurs feuilles d'un classeur Excel. J'ai bien vu plein de chose sur le site dont ça http://pbadonf.fr/forum/viewtopic.php?id=2183&p=1

Chacune de mes feuilles correspondent à une table de ma base de données, je voudrais donc importer chacune ds feuilles du classeur excel une à une dans une datawindow.

Mais Importfile ne se fait pas sur un format Excel, il faudrait donc que je transforme chacune des feuilles au format texte, et c'est là que je coince.

Quelqu'un pourrait-il m'aider ?

Merci

Hors ligne

 

#2 29-06-2010 10:40:58

Amélie  
Membre Geek
Date d'inscription: 24-11-2009
Messages: 24
Pépites: 135
Banque: 0

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

Bonjour,

Tu peux te connecter à Excel via l'OLE et importer les données des différentes feuilles

Code: pb

integer  li_ret = 1, li_index
string          ls_pathname, ls_filename
long                    ll_rc
oleobject       loo_excel 
  
      // En fonction du concept passé en paramètre, je détermine l'index de le feuille à récupérer
  CHOOSE CASE as_concept
      
    CASE 'CULTURE'
      li_index = 1
    CASE 'OPERATION'
      li_index = 2
    CASE 'INTRANT'
      li_index = 3
    CASE 'CIBLE'
      li_index = 4
    CASE 'USAGE1'
      li_index = 5
    CASE 'USAGE2'
      li_index = 6
    CASE 'INTRANT_NHL'
      li_index = 7
    CASE ELSE
      li_index = 1
      
  END CHOOSE
 
        // Connection à excel
  loo_excel = CREATE OLEObject
  loo_excel.ConnectToNewObject( "excel.application" )
  loo_excel.visible = false
     
        // Ouverture du fichier passé en paramètre
  loo_excel.workbooks.open( as_path_fichier )

        // Positionnement sur la bonne feuille et sélection du contenu
  loo_excel.ActiveWorkbook.Sheets(li_index).Select
  loo_excel.ActiveCell.CurrentRegion.Select
  loo_excel.Selection.Copy()

        // Importation des données à partir de la 2nde ligne copiée dans la dw passée en paramètre
  ll_rc = adw_datawindow.ImportClipBoard (2)

        // Vidage de la mémoire contenant la copie, fermeutre d'excel et déconnection
  ClipBoard('')
  loo_excel.workbooks.close()
  loo_excel.disconnectobject()
  DESTROY loo_excel 
  
  return li_ret

tu peux même connaitre le nombre de feuille et boucler dessus

Code: pb

 count = loo_excel.ActiveWorkbook.Sheets.Count

Hors ligne

 

#3 29-06-2010 11:28:22

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles


never let people work on more than one thing at once.

Hors ligne

 

#4 29-06-2010 11:47:17

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles



Juste une petite remarque:


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#5 29-06-2010 12:16:10

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

Merci beaucoup,


J'étais presque arrivé à cette solution, mais je ne connaissais pas le fonction ImportClipBoard


Bravo,



Hors ligne

 

#6 21-02-2011 14:43:14

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

Ce code marche à merveille.
Merci

Hors ligne

 

#7 01-03-2011 07:00:52

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

En fait j'ai rencontré un problème avec ce code car si le tableau se situe dans les cellules A1:C5 et que l'on sauvegarde avec le curseur positionné sur une cellule hors de ce tableau (comme E3), alors la commande 

Code:

loo_excel.ActiveCell.CurrentRegion.Select
loo_excel.Selection.Copy()

retourne un tableau A1:E5, ce qui dans mon cas est un bug.


Pour solutionner cela, j'ai remplacé la commande précédente par :

Code:

loo_excel.ActiveSheet.UsedRange.Select
loo_excel.Selection.Copy()

Et là cela fonctionne très bien et sélectionne le tableau A1:C5

Dernière modification par LeCiao (01-03-2011 13:42:17)

Hors ligne

 

#8 01-03-2011 15:33:12

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

merci pour ton retour


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#9 20-06-2011 14:37:43

titanbos  
Membre
Date d'inscription: 17-06-2011
Messages: 6
Pépites: 32
Banque: 0

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

je suis novice et j'ai pas bien compris ce code, et déjà elle n'a pas marché avec moi, y a-t-il quelqu'un qui peut m'aider?


Sachez bien que si on veut on peut, mais si on peut c'est grâce à Dieu !! <3

Hors ligne

 

#10 20-06-2011 14:58:24

LeCiao  
Membre Geek
Date d'inscription: 05-09-2007
Messages: 87
Pépites: 18
Banque: 362,050,507,885,535

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

Pourtant il y a du commentaire ?
Et j'ai réussi sans trop de soucis à le faire marcher

Hors ligne

 

#11 20-06-2011 15:51:27

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

titanbos a écrit:

je suis novice et j'ai pas bien compris ce code, et déjà elle n'a pas marché avec moi, y a-t-il quelqu'un qui peut m'aider?

salut,
* tu as excel d'installé sur ta machine ?
* tu arrives a nous dire a partir d'où ça coince ? (en traçant en mode debug pas à pas par exemple)


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [RESOLU] Importation d'un fichier Excel avec plusieurs feuilles

Pied de page des forums

Propulsé par FluxBB 1.2.22