Apache POI insérer une image
Je vais avoir des problèmes avec l'insertion d'une image dans une feuille excel im faire.
Il y a beaucoup de question sur ce sujet, mais je ne peut tout simplement pas comprendre ce que je fais mal.
Mon code fonctionne, n'indique aucune erreur mais je ne vois pas une image insérée 🙁
voici le code:
InputStream is = new FileInputStream("nasuto_tlo.png");
byte [] bytes = IOUtils.toByteArray(is);
int pictureIndex = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
is.close();
CreationHelper helper = wb.getCreationHelper();
Drawing drawingPatriarch = sheet.createDrawingPatriarch();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(2);
anchor.setRow1(3);
Picture pict = drawingPatriarch.createPicture(anchor, pictureIndex);
pict.resize();
try {
FileOutputStream out = new FileOutputStream(root+"/Busotina/Busotina1.xls");
wb.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
POI a eu des problèmes pour insérer des images dans les documents Word, donc je pense que cela est lié.
Est-ce de travailler sur une nouvelle feuille? Le POI peut seulement ajouter des images à une feuille sans existantes, il ne fonctionnera pas si vous essayez de les ajouter à une feuille qui a déjà sur elle
Est-ce de travailler sur une nouvelle feuille? Le POI peut seulement ajouter des images à une feuille sans existantes, il ne fonctionnera pas si vous essayez de les ajouter à une feuille qui a déjà sur elle
OriginalL'auteur SteBra | 2014-02-24
Vous devez vous connecter pour publier un commentaire.
le problème est que votre point d'ancrage n'est pas correct.
Vous devez définir tous les 4 valeurs, parce que les valeurs par défaut sont 0 - mais votre première colonne ne peut pas être plus que votre second 😉 Vous aurez négatif de la mesure.
Vous devriez recevoir un avertissement lorsque vous ouvrez un fichier excel qu'il est corrompu.
Donc, essayez
Un exemple de code que j'ai écrit:
Désolé, n'a jamais travaillé avec docx. Mais pourquoi pas? Autant que je sache poi veut inputstreams et vous pouvez utiliser une bytearrayinputstrean
OriginalL'auteur Mirco