0
私のプロジェクトでは、javaとPOI libを使ってExcelファイルを作成します。 私はいくつかのシートと多くの異なる情報を持っています。いくつかは、テンプレートを使用してデータを挿入するだけです。Java POI autosize columun
しかし、他のデータについては、私が得ようとしている情報の長さはわかりません。私は別のスタイルを使用するように、Excelがうまく提示する必要があり
は、私の問題は、自動サイズ調整である:
/**
* Remplit les cellules d'un onglet
* @param nomOnglet Le nom de l'onglet à remplir
* @param cellules Les valeurs à insérer dans l'onglet
* @throws TechniqueException
*/
private void remplirOnglet(HSSFWorkbook classeur, String nomOnglet, List<CelluleExport> cellules) throws TechniqueException {
HSSFSheet onglet = classeur.getSheet(nomOnglet);
if(onglet == null)
onglet = classeur.createSheet(nomOnglet);
int colMax = 0;
for (CelluleExport cellule : cellules) {
int idLigne = cellule.getRow()-1;
int idColonne = cellule.getColumn()-1;
colMax = Math.max(colMax, idColonne);
HSSFRow ligne = onglet.getRow(idLigne);
if(ligne == null)
ligne = onglet.createRow(idLigne);
HSSFCell poiCell = ligne.getCell(idColonne);
if(poiCell == null)
poiCell = ligne.createCell(idColonne);
poiCell.setCellType(HSSFCell.CELL_TYPE_STRING);
poiCell.setCellValue(cellule.getValeur());
if(cellule.isStyled()) {
applyStyle(cellule, poiCell);
if(cellule.getStyleType().equals(CelluleExport.CELL_STYLE_TYPE.TITRE_BLOC))
fusionnerDroite(onglet, cellule, 2);
}
}
for(int i=0; i <= colMax; i++){
onglet.autoSizeColumn(i, true);
}
}
Auosizeは、ほとんどの時間を正常に動作します。太字または大文字のフォントを使用するいくつかのセルでは、動作しません。
誰もこの問題を回避する方法を知っていますか?私はオンラインで何かを見つけていないし、それはlibの問題だと思う。興味のある方のため
これはlibの問題またはExcelの問題です。私もこの問題を抱えており、解決策は見つけられませんでした。 – IQV
興味のある方は、autoSizeの後に特定の値を追加して問題を修正しました。 \t onglet.autoSizeColumn(i、true); \t onglet.setColumnWidth(i、onglet.getColumnWidth(i)+ 3 * 256); –