我有一个工作簿,其中包含多个包含数据的表格。
要求:
1)顶行加粗 2)所有细胞顶部和左侧对齐 3)列大小适合顶行单元格值
我使用以下代码。它不会抛出错误或异常,文件已成功填充。但风格并未适用。我想我错过了一些东西:
... // fill Excel ..
if (sheet.getPhysicalNumberOfRows() > 0) {
CellStyle topRowStyle = wb.createCellStyle(); // makes top row bold
Font topRowFont = wb.createFont();
topRowFont.setBold(true);
topRowStyle.setFont(topRowFont);
sheet.getRow(0).setRowStyle(topRowStyle);
CellStyle style = wb.createCellStyle(); // creates general sheet style
Font font= wb.createFont();
font.setFontHeightInPoints((short)10);
font.setFontName("Arial");
style.setFont(font);
style.setAlignment(CellStyle.ALIGN_LEFT);
style.setAlignment(CellStyle.VERTICAL_TOP);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
row.setRowStyle(style);
int columnIndex = cell.getColumnIndex();
}
}
// continue with other stuff
在这段代码中,我尝试实现1)和2)。 但有谁知道如何解决3)?我之前曾与
合作过sheet.autoSizeColumn(columnIndex);
但是这只是根据最长(按字符数)值自动调整列。
谢谢!