gpt4 book ai didi

java - 使用 Apache POI 读取 excel 文件

转载 作者:搜寻专家 更新时间:2023-10-31 20:03:53 26 4
gpt4 key购买 nike

我创建了这段代码来使用 Apache POI 读取 excel 文件的内容。我正在使用 eclipse 作为编辑器,但是当我运行代码时,我在粗体行中遇到了问题。有什么问题?excel的内容如下:

Emp ID  Name    Salary

1.0 john 2000000.0

2.0 dean 4200000.0

3.0 sam 2800000.0

4.0 cass 600000.0

import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;



public class ExcelRead {

public static void main(String[] args) throws Exception {
File excel = new File ("C:\\Users\\Efi\\Documents\\test.xls");
FileInputStream fis = new FileInputStream(excel);

HSSFWorkbook wb = new HSSFWorkbook(fis);
HSSFSheet ws = wb.getSheet("Input");

int rowNum = ws.getLastRowNum()+1;
int colNum = ws.getRow(0).getLastCellNum();
String[][] data = new String[rowNum][colNum];


for (int i=0; i<rowNum; i++){
HSSFRow row = ws.getRow(i);
for (int j=0; j<colNum; j++){
HSSFCell cell = row.getCell(j);
String value = cellToString(cell);
data[i][j] = value;
System.out.println("The value is" + value);

}
}
}

public static String cellToString (HSSFCell cell){

int type;
Object result;
type = cell.getCellType();

switch(type) {


case 0://numeric value in excel
result = cell.getNumericCellValue();
break;
case 1: //string value in excel
result = cell.getStringCellValue();
break;
case 2: //boolean value in excel
result = cell.getBooleanCellValue ();
break;
default:
***throw new RunTimeException("There are not support for this type of
cell");***
}

return result.toString();
}

}

最佳答案

additional cell types除了您在 switch 语句中捕获的那些。您有 0 (CELL_TYPE_NUMERIC)、1 (CELL_TYPE_STRING) 和 2 的案例>,但 2CELL_TYPE_FORMULA。以下是其他可能的值:

  • 3:CELL_TYPE_BLANK
  • 4:CELL_TYPE_BOOLEAN
  • 5:CELL_TYPE_ERROR

在 switch 语句中使用 Cell 常量作为单元格类型而不是整数文字,并使用所有 6 个常量来捕获所有可能的情况。

正如@Vash 已经建议的那样,在您的RuntimeException 消息中包含实际的单元格type

关于java - 使用 Apache POI 读取 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15760724/

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