使用Apache POI更新Excel文件

我正在尝试使用Apache

POI更新现有的Excel文件。每次我运行代码时,都会收到如下所示的错误。我也试过FileInputStreamNewFile的东西。

Exception in thread "main" java.lang.NullPointerException

at com.gma.test.WriteExcelTest.writeXLSXFile(WriteExcelTest.java:26)

at com.gma.test.WriteExcelTest.main(WriteExcelTest.java:44)

请在下面找到代码。感谢你的帮助。

package com.gma.test;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;

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 WriteExcelTest {

public static void writeXLSXFile(int row, int col) throws IOException {

try {

FileInputStream file = new FileInputStream("C:\\Anuj\\Data\\Data.xlsx");

XSSFWorkbook workbook = new XSSFWorkbook(file);

XSSFSheet sheet = workbook.getSheetAt(0);

Cell cell = null;

//Update the value of cell

cell = sheet.getRow(row).getCell(col);

cell.setCellValue("Pass");

file.close();

FileOutputStream outFile =new FileOutputStream(new File("C:\\Anuj\\Data\\Data.xlsx"));

workbook.write(outFile);

outFile.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

writeXLSXFile(3, 3);

}

}

回答:

如果您更换

//Update the value of cell

cell = sheet.getRow(row).getCell(col);

cell.setCellValue("Pass");

//Retrieve the row and check for null

HSSFRow sheetrow = sheet.getRow(row);

if(sheetrow == null){

sheetrow = sheet.createRow(row);

}

//Update the value of cell

cell = sheetrow.getCell(col);

if(cell == null){

cell = sheetrow.createCell(col);

}

cell.setCellValue("Pass");

会工作的!

以上是 使用Apache POI更新Excel文件 的全部内容, 来源链接: utcz.com/qa/398786.html

回到顶部