繁体   English   中英

创建新的Excel文件时如何初始化单元格(Apache POI)

[英]How to initialize cells when creating a new Excel file (Apache POI)

我目前正在使用Apache POI创建空的excel文件(稍后将进行阅读和编辑)。 问题在于,每当我尝试获取单元格时,我总是会得到一个空值。 我尝试初始化前几列和行(单元格不再为null),但是使用这种方法,我无法插入新的行和列。 如何无需设置行数和列数即可初始化工作表的所有单元格? 谢谢

编辑:嗨,这是我在创建Excel文件中的代码。 由于电子表格没有行和列,因此无法使用迭代器初始化所有单元格。

FileOutputStream fileOut = new FileOutputStream(loc + formID +".xls");
        HSSFWorkbook workbook = new HSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");
        for (Row row : sheet) {
            for (Cell cell : row) {
                CellStyle style = workbook.createCellStyle();
                style.setFillBackgroundColor(IndexedColors.BLACK.getIndex());
                cell.setCellValue("");
                cell.setCellStyle(style);
            }
        } 
        workbook.write(fileOut);
        fileOut.flush();
        fileOut.close(); 

您可能会发现MissingCellPolicy可以满足您的需求。 当连续调用getCell时,可以指定MissingCellPolicy以在没有单元格的情况下发生某些事情,例如

Row r = sheet.getRow(2);
Cell c = r.getCell(5, MissingCellPolicy.CREATE_NULL_AS_BLANK);
c.setCellValue("This will always work, c will never be null");

org.apache.poi.ss.util.CellUtil也可以提供帮助:

// Get the row, creating it if needed
Row r = CellUtil.getRow(4, sheet);
// Get the cell, creating it if needed
Cell c = CellUtil.getCell(2, r);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM