PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Importation  donnée
Importation donnée
Débuté par johnston B, 13 aoû. 2019 20:14 - 1 réponse
Posté le 13 août 2019 - 20:14
Bonjour

je développe sur du webdev 24 et je suis a la recherche d'une procédure ou code permettant d'importer les données a travers un bouton upload d'un fichier excel vers un tableau .

Merci

Cordialement
Posté le 21 août 2019 - 12:48
johnston B vient de nous annoncer :
Bonjour

je développe sur du webdev 24 et je suis a la recherche d'une procédure ou
code permettant d'importer les données a travers un bouton upload d'un
fichier excel vers un tableau .

Merci

Cordialement


bonjour

un exemple, à toi de trier
un champs upload, je charge dans une table mémoire qui permet à
l'utilsiateur de contrôler puis de mettre à jopur la base.


bFirst est un booléen=Vrai
ficxls est une chaîne
pI,NumCol,i,wId sont des entiers
entete=""
nomFichierUpload,rep_destination_finale sont des chaînes
cmd2 est chaîne
gLog="" // raz de la log
subject est chaîne
subject="Import Matrice de résultats "+POD_DESC+ " arrêtés au
"+DateVersChaîne(R_DateArret)
// commande de création de l'action
cmd2="INSERT INTO ACTION
(ACT_DESC,ACT_TYPE,ACT_AUTRE,OPE_ID,LVL_ID,DATE_CREAT,LOGIN_CREAT,ACT_CODE,pod_id)
VALUES( "+...
Quote(subject)+","+...
5+","+...
Quote(codeedi)+","+...
gOpe_Id+","+...
LVL_ID+","+...
DateSGBD(DateSys(),cToSGBD)+","+...
Quote(gInternaute)+","+...
QuoteV(codeedi)+POD_ID+")"
ExecInsert(cmd2)
ACT_ID=Rtv_Last_Insert_Id()
EcritLog("Veuillez consulter le compte-rendu de votre traitement
ci-dessous ")
EcritLog("")

subject+=" - ACTION N° "+ACT_ID
EcritLog(subject)
TableSupprimeTout(Table1)

nomFichierUpload="PERIOD_"+POD_ID+"_"+gIDSession+".xlsx"
rep_destination_finale=ComplèteRep(fRepWeb())+"Files\"+gOpe_Id
SI PAS fRepExiste(rep_destination_finale) ALORS
fRepCrée(rep_destination_finale)
ficxls =
UploadCopieFichier(FILE_XLS,rep_destination_finale,nomFichierUpload)

nomfic=fExtraitChemin(ficxls,fFichier)
IdFichierXls = xlsOuvre(ComplèteRep(rep_destination_finale)+ficxls)
// tvwtext est une chaine qui permet de memoriser le treeview (sans le
nom de fic qui peut changer)
tvwtext=""
EcritLog("Charge le fichier "+nomfic)
SI IdFichierXls <> -1 ALORS
nblig=xlsNbLigne(IdFichierXls)
nbcol=xlsNbColonne(IdFichierXls)
POUR i=1 A nbcol
entete+=xlsDonnée(IdFichierXls,1,i)+TAB
FIN

POUR i=2 A nblig
wId=Val(xlsDonnée(IdFichierXls,i,POS_KEY_ID))
SI wId=0 ALORS CONTINUER
TableAjoute(Table1)
pI=TableOccurrence(Table1)
Table1.PPL_ID[pI]=wId
POUR TOUT wpos,wz de tZon
NumCol=Val(wpos)
{"Table1."+wz,indChamp}[pI]=xlsDonnée(IdFichierXls,i,NumCol)
SI bFirst ALORS
EcritLog(wz+" = "+xlsDonnée(IdFichierXls,1,NumCol))
FIN
FIN
bFirst=Faux
FIN

FIN

nbok,nbano sont des entiers système
nbok=0;nbano=0
//vérifie les comptes participants
POUR TOUTE LIGNE DE Table1
Table1.PPL_ID_LIB=SansEspace(Rtv_PPL_NOMRS(Table1.PPL_ID,*," AND
LVL_ID="+LVL_ID))
SI Table1.PPL_ID_LIB="" ALORS
Table1.LIBANO="Compte non trouvé"
nbano++
SINON
nbok++
FIN

FIN

EcritLog("Chargement de vos données terminé "+AcetInstant())
SI nbano>0 ALORS
EcritLog("Attention, il y a "+nbano+" anomalies dans votre fichier")
FIN
EcritLog(nbok+" lignes okay pour être intégrées")
EcritLog("Verifiez votre tableau et utilisez le bouton Mettre à jour
base de données")
HTML_LOG=Remplace(gLog,RC,cBR)
ToastAffiche("Consultez la log avant de mettre à jour la
base",toastCourt,cvMilieu)

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus