Apache POI:单元格/行样式设置不起作用

时间:2017-02-13 16:23:31

标签: java excel apache-poi

我有一个工作簿,其中包含多个包含数据的表格。

要求:

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);

但是这只是根据最长(按字符数)值自动调整列。

谢谢!

0 个答案:

没有答案