Comment définir la police en nombre décimal à l'aide de HSSFFont
Je veux mettre du texte police de 7,5 à un texte particulier dans la feuille excel. Je suis à l'aide de code ci-dessous pour préparer la Police.
HSSFCellStyle txtStyle = (HSSFCellStyle)workbook.createCellStyle();
HSSFFont txtFont = (HSSFFont)workbook.createFont();
txtFont.setFontName("Arial");
txtFont.setFontHeightInPoints((short)7.5);
txtStyle.setFont(txtFont);
Mais il prend toujours de police que 7 car de type court de la coulée et donc ciblé texte dans la feuille excel est la prise de police 7 et pas 7.5. J'ai aussi essayé la méthode 'setFontHeight", mais qui prend aussi court que paramètre. Donc, est-il un moyen par lequel je pourrais définir la police du texte de nombre décimal?
Ne Excel prend en charge les tailles de police comme 7.5, ou est-il rond?
Oui. MS Excel prend en charge la taille de police 7.5. Il n'est pas livré en standard taille de la police de liste déroulante dans la barre d'outils, mais une fois que nous avons sélectionnez n'importe quel taille de la police à partir du menu déroulant on peut modifier manuellement et modifier la taille de la police de nombre décimal et appuyez sur entrée. Le changement de police de caractères qui est appliquée. De similaire, je suis en train de faire la même chose à l'aide de POI.
Si vous créez un fichier avec une taille de police de 7,5 dans Excel, puis de le lire que de retour dans Apache POI, la taille de police ne POI voir? (Essayez les deux getFontHeight() et getFontHeightInPoints())
Après la lecture de fichier xls où la taille de la police a été réglé manuellement pour 7.5, getFontHeight donne 150 et getFontHeightInPoints donne 7. Donc, en tant que ingénierie inverse, je n'ai txtFont.setFontHeight((court)150) et cela a fonctionné !! Le excel généré montre la taille de la police 7.5. Merci @Gagravarr pour l'astuce !!
Oui. MS Excel prend en charge la taille de police 7.5. Il n'est pas livré en standard taille de la police de liste déroulante dans la barre d'outils, mais une fois que nous avons sélectionnez n'importe quel taille de la police à partir du menu déroulant on peut modifier manuellement et modifier la taille de la police de nombre décimal et appuyez sur entrée. Le changement de police de caractères qui est appliquée. De similaire, je suis en train de faire la même chose à l'aide de POI.
Si vous créez un fichier avec une taille de police de 7,5 dans Excel, puis de le lire que de retour dans Apache POI, la taille de police ne POI voir? (Essayez les deux getFontHeight() et getFontHeightInPoints())
Après la lecture de fichier xls où la taille de la police a été réglé manuellement pour 7.5, getFontHeight donne 150 et getFontHeightInPoints donne 7. Donc, en tant que ingénierie inverse, je n'ai txtFont.setFontHeight((court)150) et cela a fonctionné !! Le excel généré montre la taille de la police 7.5. Merci @Gagravarr pour l'astuce !!
OriginalL'auteur Nags | 2015-02-16
Vous devez vous connecter pour publier un commentaire.
La promotion des commentaires à une réponse - le POI HSSF classe de la Police a deux taille de la police des paramètres de méthodes:
À l'aide de setFontHeightInPoints est le plus facile pour la plupart des cas, et est recommandé dans la documentation Javadoc. Cependant, il ne fera que faire face à des nombres entiers de police hauteurs. C'est la plupart des tailles de police, mais pas tous les
Pour définir une police de la hauteur de 7,5, vous aurez besoin de changer votre code au lieu d'être:
Qui utilise l'autre qui prend
1/20
point de tailles, ce qui compose avec les valeurs non entières.OriginalL'auteur Gagravarr