Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Poi][Excel] Taille Cellule.

5 réponses
Avatar
olive
Bonjour,

J'utilise l'API Poi (HSSF) pour creer un fichier excel :
Y a til moyen que la cellule se redimensionne automatiquement (en largeur)
en fontion de son contenue.

Merci...

5 réponses

Avatar
doudou35
Je ne crois pas qu'il existe un moyen de redimensionner automatiquement,
mais on peut bidouiller.

*Soit tu peux forcer le retour à la ligne avec la fonction setWrapText
(HSSFCellStyle.setWrapText(true);)

*Soit tu calcules la longueur de la chaine que tu veux inscrire dans ta
cellule et tu fixes la largeur de la colonne :
HSSFSheet.setColumnWidth((short)colonne,(short)(taille_de_ta_chaine*256));
! attention à la multiplication par 256 très importante !
Je te conseille de rajouter 2 à 5 à ta chaine de caractères pour plus de
sûreté.

olive wrote:
Bonjour,

J'utilise l'API Poi (HSSF) pour creer un fichier excel :
Y a til moyen que la cellule se redimensionne automatiquement (en largeur)
en fontion de son contenue.

Merci...




Avatar
olive
ARFFFff , merci bcp mais setWrapText effectivement ca passe ala ligne
massije veux ke ca reste sur la meme ligne . Donc faut utiliser ta 2eme
technique mais je les deja utiliser : Le pb est que ca depends de la taille
de la Font qu'il ya a l'interieur dela cellule ,si je prend un Font de 12
camarche plus ,il est trop con il regarde pas la taille de la font : pour
lui la font fais 10 jcrois .


Alors si tu as une autre solution sesera super merci ;)


"doudou35" a écrit dans le message de
news:c68shk$e6l$
Je ne crois pas qu'il existe un moyen de redimensionner automatiquement,
mais on peut bidouiller.

*Soit tu peux forcer le retour à la ligne avec la fonction setWrapText
(HSSFCellStyle.setWrapText(true);)

*Soit tu calcules la longueur de la chaine que tu veux inscrire dans ta
cellule et tu fixes la largeur de la colonne :
HSSFSheet.setColumnWidth((short)colonne,(short)(taille_de_ta_chaine*256));
! attention à la multiplication par 256 très importante !
Je te conseille de rajouter 2 à 5 à ta chaine de caractères pour plus de
sûreté.

olive wrote:
Bonjour,

J'utilise l'API Poi (HSSF) pour creer un fichier excel :
Y a til moyen que la cellule se redimensionne automatiquement (en
largeur)


en fontion de son contenue.

Merci...






Avatar
doudou35
Tu n'as qu'à faire le ratio entre la taille de la Font et la
multiplication que je t'ai indiqué (Fais quelques tests). Par exemple,
au lieu de multiplier par 256 comme je te l'ai dis, tu multiplies 256 et
par ton ratio (par exemple: ratio = taille de ta font / 10)

Cela fera pour une font de 10, 1*256
une font de 12, 1.2*256

Essaye et trouve le meilleur compromis.

olive wrote:
ARFFFff , merci bcp mais setWrapText effectivement ca passe ala ligne
massije veux ke ca reste sur la meme ligne . Donc faut utiliser ta 2eme
technique mais je les deja utiliser : Le pb est que ca depends de la taille
de la Font qu'il ya a l'interieur dela cellule ,si je prend un Font de 12
camarche plus ,il est trop con il regarde pas la taille de la font : pour
lui la font fais 10 jcrois .


Alors si tu as une autre solution sesera super merci ;)


"doudou35" a écrit dans le message de
news:c68shk$e6l$

Je ne crois pas qu'il existe un moyen de redimensionner automatiquement,
mais on peut bidouiller.

*Soit tu peux forcer le retour à la ligne avec la fonction setWrapText
(HSSFCellStyle.setWrapText(true);)

*Soit tu calcules la longueur de la chaine que tu veux inscrire dans ta
cellule et tu fixes la largeur de la colonne :
HSSFSheet.setColumnWidth((short)colonne,(short)(taille_de_ta_chaine*256));
! attention à la multiplication par 256 très importante !
Je te conseille de rajouter 2 à 5 à ta chaine de caractères pour plus de
sûreté.

olive wrote:

Bonjour,

J'utilise l'API Poi (HSSF) pour creer un fichier excel :
Y a til moyen que la cellule se redimensionne automatiquement (en



largeur)

en fontion de son contenue.

Merci...











Avatar
olive
Oui merci c'est ce que je vais faire!
Mais c du bidouillage je penser peutetre qu'il exister une solution propre
;) !

Mais c super je v faire ca merci ++.

"doudou35" a écrit dans le message de
news:c6b5to$ngu$
Tu n'as qu'à faire le ratio entre la taille de la Font et la
multiplication que je t'ai indiqué (Fais quelques tests). Par exemple,
au lieu de multiplier par 256 comme je te l'ai dis, tu multiplies 256 et
par ton ratio (par exemple: ratio = taille de ta font / 10)

Cela fera pour une font de 10, 1*256
une font de 12, 1.2*256

Essaye et trouve le meilleur compromis.

olive wrote:
ARFFFff , merci bcp mais setWrapText effectivement ca passe ala ligne
massije veux ke ca reste sur la meme ligne . Donc faut utiliser ta 2eme
technique mais je les deja utiliser : Le pb est que ca depends de la
taille


de la Font qu'il ya a l'interieur dela cellule ,si je prend un Font de
12


camarche plus ,il est trop con il regarde pas la taille de la font :
pour


lui la font fais 10 jcrois .


Alors si tu as une autre solution sesera super merci ;)


"doudou35" a écrit dans le message de
news:c68shk$e6l$

Je ne crois pas qu'il existe un moyen de redimensionner automatiquement,
mais on peut bidouiller.

*Soit tu peux forcer le retour à la ligne avec la fonction setWrapText
(HSSFCellStyle.setWrapText(true);)

*Soit tu calcules la longueur de la chaine que tu veux inscrire dans ta
cellule et tu fixes la largeur de la colonne :


HSSFSheet.setColumnWidth((short)colonne,(short)(taille_de_ta_chaine*256));
! attention à la multiplication par 256 très importante !
Je te conseille de rajouter 2 à 5 à ta chaine de caractères pour plus de
sûreté.

olive wrote:

Bonjour,

J'utilise l'API Poi (HSSF) pour creer un fichier excel :
Y a til moyen que la cellule se redimensionne automatiquement (en



largeur)

en fontion de son contenue.

Merci...













Avatar
Patrick Gras
"olive" wrote in message
news:c68o07$r0f$
Bonjour,

J'utilise l'API Poi (HSSF) pour creer un fichier excel :
Y a til moyen que la cellule se redimensionne automatiquement (en largeur)
en fontion de son contenue.

Merci...


Hello,


J'ai utilisé Poi et pour faire tout ce que je voulais j'ai pris une approche
différente:

J'ai d'abord créé un fichier avec Excel (joli comme je le voulais) puis j'ai
utilisé Poi pour remplir juste les champs variables...

-Patrick