我正在尝试使用Apache POI更新java中的.xlsx文件。Apache POI更新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 2014-09-24 09:10:23
将它放在一个循环中,限制条件为您期望的行数,并在分别调用getCell或getValue之前对行和单元格进行空值检查。 – Avik 2014-09-24 09:14:48
谢谢:)最有帮助的问题曾经:) @Jens – BetterNerf 2014-09-24 09:15:30