1

コード (以下) を実行するたびにヌル ポインター エラーが発生し、2 つのアスタリスクで指定された行を指しています。

public void writeSomething(XSSFWorkbook wb){
        for (String elem: listOfSheetNames){
            if (elem.equals("Sheet2")){
                sheet = wb.getSheet(elem); //sheet is of type XSSFSheet
                XSSFRow row = sheet.getRow(0);
                **XSSFCell cell = row.getCell(1);

                if (cell == null){
                    cell = row.createCell(1);
                    cell.setCellType(Cell.CELL_TYPE_STRING);
                    cell.setCellValue("Apple");
                }                                       
            }
        }
    }

私はApache poiを初めて使用し、2番目のExcelシート(Sheet2)の空白セルにデータを書き込もうとしています。ここで何か間違ったことをしましたか?

4

2 に答える 2

5

残念ながら、セルは現在null空白のセルではありません。指定したシートにデータを配置すると、空白になります。blank最初にセルを作成してから、セルではなくセルであるかどうかを確認することをお勧めしますnull

**XSSFCell cell = row.createCell(1);

if (cell == Cell.CELL_TYPE_BLANK){
   cell.setCellType(Cell.CELL_TYPE_STRING);
   cell.setCellValue("Apple");
}   
于 2013-01-09T02:22:08.353 に答える
-1

これにより、互換性のない型が生成されます。

代わりにこれを行います:

if (cell.getCellType() == Cell.CELL_TYPE_BLANK){
    cell.setCellType(Cell.CELL_TYPE_STRING);
    cell.setCellValue("Apple");
}   
于 2013-06-18T17:36:56.347 に答える