PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Lire une image dans un fichier Excel
Lire une image dans un fichier Excel
Débuté par Josian, 09 déc. 2016 18:57 - 5 réponses
Membre enregistré
26 messages
Popularité : +1 (1 vote)
Posté le 09 décembre 2016 - 18:57
Bonsoir à tous,

Est-ce que quelqu'un à déjà du récupérer une image dans une cellule Excel ? Et surtout comment avez-vous fait ?

J'ai essayé en déclarant un XLSDocument, je lis bien toutes mes colonnes mais la photo : rien, chaine vide.
J'affecte ma colonne photo à une variable image ou à une colonne de table de type image mais je ne récupère rien...
imgPhoto est une Image = xlsDOC[1, "P"]


Dans mon Excel, si je Copie/Colle la photo sous paint je la récupère bien.

Merci par avance de votre aide.
Posté le 10 décembre 2016 - 13:00
et avec un buffer, un variant ?

Le 12/9/2016 à 12:57 PM, Josian a écrit :
Bonsoir à tous,

Est-ce que quelqu'un à déjà du récupérer une image dans une cellule
Excel ? Et surtout comment avez-vous fait ?

J'ai essayé en déclarant un XLSDocument, je lis bien toutes mes colonnes
mais la photo : rien, chaine vide.
J'affecte ma colonne photo à une variable image ou à une colonne de
table de type image mais je ne récupère rien...
imgPhoto est une image = xlsDOC[1, "P"]


Dans mon Excel, si je Copie/Colle la photo sous paint je la récupère bien.

Merci par avance de votre aide.
Membre enregistré
948 messages
Popularité : +11 (13 votes)
Posté le 26 janvier 2022 - 17:08
Bonjour,

très vieux posts ... vous avez trouvé quelque chose ?

merci

OB
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 27 janvier 2022 - 14:22
Bonjour
regardez le post https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/210867-recuperer-image-dans-fichier-excel-230534/read.awp… cela devrait vous aider

--
«Nos clients sont nos meilleurs beta testeur.» H. Mintzberg
«Un programme informatique fait ce que vous lui avez dit de faire, pas ce que vous voulez qu'il fasse» Troisième loi de Greer
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 27 janvier 2022 - 14:54
hello,
comme le propose Philippe Pasquali il y a possibilité de faire cela avec Excel Automation si tu as Excel installé sur ton ordinateur mais le message initial Josian parle de xlsDocument donc en utilisant que windev . Obtuli tu es dans quel cas de figure ? Il y a aussi possibilité aussi d'utiliser openoffice automation si LibreOffice ou OpenOffice est installé sur l'ordinateur.

--
Ami calmant, J.P
Membre enregistré
193 messages
Popularité : +4 (8 votes)
Posté le 27 janvier 2022 - 17:44
Bonjour,
Un petit exemple à adapter.
XLS est un objet Automation "Excel.Application"
MaCellule est un objet Automation dynamique
ficxls est un entier
XLS>>DisplayAlerts = False
ficxls = fCrée("monfichier.xls")
fFerme(ficxls)
ficnomxls est une chaîne=(fRepEnCours()+"\monfichier.xls")
XLS>>Visible=OLEFaux
XLS>>WorkBooks>>Open(ficnomxls)
XLS>>Range("A1")>>Select()
XLS>>Selection
XLS>>Selection>>Columns>>ColumnWidth = 22.29
XLS>>Selection>>Rows>>RowHeight = 89
MaCellule= XLS>>activeSheet>>Range("A1")

monimage est une chaîne="maphoto.jpg" // le chemin de ta photo

MaChaîne1 est une chaîne= "%1"
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, monimage)
XLS>>ActiveSheet>>Shapes>>AddPicture(MonRésultat, False, True, ...
MaCellule>>Left+8,MaCellule>>Top+4,MaCellule>>Width,MaCellule>>Height)
XLS>>ActiveWorkBook>>SaveAs(ficnomxls,-4143)
XLS>>ActiveWorkBook>>close(ficnomxls)