<action dev="POI-DEVELOPERS" type="fix">44914 - Fix/suppress warning message "WARN. Unread n bytes of record 0xNN"</action>
<action dev="POI-DEVELOPERS" type="fix">44892 - made HSSFWorkbook.getSheet(String) case insensitive</action>
<action dev="POI-DEVELOPERS" type="fix">44886] - Correctly process PICT metafile in EscherMetafileBlip</action>
- <action dev="POI-DEVELOPERS" type="fix">44893 - Correctly handle merged regions in HSSFSheet.autoSizeColumn</action>
+ <action dev="POI-DEVELOPERS" type="fix">44893 - Take into account indentation in HSSFSheet.autoSizeColumn</action>
</release>
<release version="3.1-beta1" date="2008-04-28">
<action dev="POI-DEVELOPERS" type="fix">44857 - Avoid OOM on unknown escher records when EscherMetafileBlip is incorrect</action>
HSSFCellStyle style = cell.getCellStyle();
HSSFFont font = wb.getFontAt(style.getFontIndex());
+ //the number of spaces to indent the text in the cell
+ int indention = style.getIndention();
if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
HSSFRichTextString rt = cell.getRichStringCellValue();
trans.concatenate(
AffineTransform.getScaleInstance(1, fontHeightMultiple)
);
- width = Math.max(width, layout.getOutline(trans).getBounds().getWidth() / defaultCharWidth);
+ width = Math.max(width, layout.getOutline(trans).getBounds().getWidth() / defaultCharWidth + indention);
} else {
- width = Math.max(width, layout.getBounds().getWidth() / defaultCharWidth);
+ width = Math.max(width, layout.getBounds().getWidth() / defaultCharWidth + indention);
}
}
} else {
trans.concatenate(
AffineTransform.getScaleInstance(1, fontHeightMultiple)
);
- width = Math.max(width, layout.getOutline(trans).getBounds().getWidth() / defaultCharWidth);
+ width = Math.max(width, layout.getOutline(trans).getBounds().getWidth() / defaultCharWidth + indention);
} else {
- width = Math.max(width, layout.getBounds().getWidth() / defaultCharWidth);
+ width = Math.max(width, layout.getBounds().getWidth() / defaultCharWidth + indention);
}
}
}
if (width != -1) {
- if (width > Short.MAX_VALUE) { //width can be bigger that Short.MAX_VALUE!
+ if (width > Short.MAX_VALUE) { //calculated width can be greater that Short.MAX_VALUE!
width = Short.MAX_VALUE;
}
sheet.setColumnWidth(column, (short) (width * 256));