Я пытаюсь обновить файл .xlsx в java с помощью Apache POI.Apache POI update excell Java
Это мой код:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class updateResults {
void updateResults(String path) throws FileNotFoundException, IOException{
FileInputStream fis = new FileInputStream(new File(path));
XSSFWorkbook workbook = new XSSFWorkbook (fis);
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFRow row1 = sheet.getRow(1);
XSSFCell cell1 = row1.getCell(1);
cell1.setCellValue("Mahesh");
XSSFRow row2 = sheet.getRow(2);
XSSFCell cell2 = row2.getCell(1);
cell2.setCellValue("Ramesh");
fis.close();
FileOutputStream fos =new FileOutputStream(new File(path));
workbook.write(fos);
fos.close();
System.out.println("Done");
}
}
Проблема в том, я получаю исключение нулевого указателя в строке «32», которая XSSFCell cell2 = row2.getCell(1);
Любой ahve любой идеи, почему это происходит?
Сколько строк имеет ваш лист? – Jens
Поместите его в цикл с лимитом как количество строк, которое вы ожидаете, и выполните нулевые проверки для строк и ячейки перед вызовом getCell или getValue соответственно. – Avik
Спасибо :) самый полезный вопрос когда-либо :) @Jens – BetterNerf