PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Xls, impossible d'ouvrir le XLS
Xls, impossible d'ouvrir le XLS
Débuté par Flo Dev', 22 sep. 2020 10:11 - 2 réponses
Posté le 22 septembre 2020 - 10:11
Bonjour,

Je n'arrive pas à comprendre mon erreur sur le code suivant :

i est un entier
indice est un entier
IDFicXLS est un xlsDocument
// Template Initial
sFichierInitial est une chaîne = "standard.xlsx"

// FICHIER SELECTIONNER dans le tableau
NomCheminFichier est une chaîne
NomFichier est une chaîne
IDFichier est un entier
LigneLue est une chaîne
tabChaine est un tableau de chaînes
colonneIdx est un entier = 1

ligneIdx est un entier = 1
ligneXls est un entier = 3 // Excel commence à 3



// Nombre de fichier sélectionner dans ma table
SI TableSelectOccurrence(TABLE_Disponible) > 0 ALORS
POUR i = 1 _À_ TableSelectOccurrence(TABLE_Disponible)

indice = TableSelect(TABLE_Disponible, i)
// Récupérer le chemin du fichier
NomCheminFichier = sRepertoire+"\"+TABLE_Disponible.COL_Nom[indice]
// Ouverture du fichier
IDFichier = fOuvre(NomCheminFichier, foLectureEcriture)
NomFichier = fExtraitChemin(NomCheminFichier, fFichier)+".xlsx"

SI fFichierExiste(sRepertoire+"\"+NomFichier)
FichierAffiche(sRepertoire+"\"+NomFichier,"typeMimeXLSX",NomFichier)
SINON SI IDFichier = -1 ALORS
Erreur(ErreurInfo(errMessage))
SINON

// Copie du template XLS
SI fCopieFichier(sRepertoire+"\"+sFichierInitial, sRepertoire+"\"+NomFichier) = Faux ALORS
Erreur("Le template n'existe pas")
FIN
//Ouverture du xlsx du fichier copier
IDFicXLS = xlsOuvre(sRepertoire+ "\"+NomFichier, xlsEcriture)
// ICI Il y a toujours une erreur
SI ErreurDétectée = Faux ALORS
// Changement de feuille 1
SI xlsFeuilleEnCours(IDFicXLS, 1) ALORS
TANTQUE LigneLue <> EOT
// Lecture de la première ligne du fichier
LigneLue = fLitLigne(IDFichier)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SORTIR
FIN
// Découpe la chaine par TABULATION
tabChaine = ChaîneDécoupe(LigneLue,TAB)
// Boucle pour les colonnes
POUR colonneIdx = 1 À TableauOccurrence(tabChaine) PAS +1
IDFicXLS[ligneXls,colonneIdx]= tabChaine[colonneIdx]
colonneIdx++;
FIN
ligneIdx++
ligneXls++
FIN
//Renommé la feuille
IDFicXLS..NomFeuille = fExtraitChemin(NomCheminFichier, fFichier)
// Sauvegarde le ficher xls
xlsSauve(IDFicXLS)
// Fermeture du fichier
fFerme(IDFichier)
// Fermeture du XLS
xlsFerme(IDFicXLS)
SINON
Erreur("Erreur de feuille !")
FIN
SINON
Erreur(ErreurInfo())
Erreur("Attention ! le fichier est déjà ouvert sur le poste de travail !")
FIN
// REcupérer le fichier qui existe déjà
FIN
FIN
SINON
ToastAffiche("Aucun fichier n'est sélectionner")
FIN


Voici l'erreur : Erreur pendant la lecture de la valeur //sheet/sheets[@id] not found.
Posté le 22 septembre 2020 - 11:22
Voici le déroulement :

Je sélectionne un fichier dans ma table,

j'ouvre le fichier Texte, si celui si à déjà fichier .xlsx à son nom, j'affiche le fichier.

Sinon je créer une copie de mon fichier Template XLSX,

je renseigne la première feuille du fichier copié XLSX avec le fichier Texte ouvert.
Membre enregistré
1 144 messages
Popularité : +50 (142 votes)
Posté le 23 septembre 2020 - 18:36
Bonsoir,

L'erreur se situe sur quelle ligne ?
Il se peut que ce type d'erreur soit lié au nom de la feuille qui contient des caractères non compatibles (j'ai déjà eu ce genre d'erreur avec le nom)

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net