gpt4 book ai didi

java - 提取数组中的 Excel 单元格值

转载 作者:行者123 更新时间:2023-12-01 09:37:52 24 4
gpt4 key购买 nike

我正在使用 apache poi 从 Excel 工作表中提取数据并尝试将提取的值保存在数组中。

我收到 java.lang.NullPointerException 错误。

我对此进行了搜索,显然当您尝试将值分配给值为 null 的对象时,会触发此异常。

我尝试查找许多示例,但大多数示例代码只是打印出单元格值。我想将它们保存在一个数组中以执行一些计算。

package exceltotext;
import java.io.*;
import java.lang.*;
import java.util.*;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class convert {

@SuppressWarnings("null")
public static void main(String[] args) throws IOException {
double [] modify = null ;
FileInputStream fs = new FileInputStream(new File ("Book1.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(fs);
XSSFSheet sheet = wb.getSheetAt(0);
FormulaEvaluator formulaevaluater = wb.getCreationHelper().createFormulaEvaluator();
for (Row row:sheet)
{
int num = 0;
for(Cell cell : row){

switch (formulaevaluater.evaluate(cell).getCellType())
{
case Cell.CELL_TYPE_NUMERIC:

modify [num] = ( cell.getNumericCellValue());
num += num;
}
System.out.println(modify[num]);
}
}
}
}

最佳答案

您的modify数组为空,因此num += num;将为您提供NPE。您需要使用例如 double []modify = new double[1000]; 而不是 double[]modify = null ;

创建此数组

关于java - 提取数组中的 Excel 单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38701068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com