gpt4 book ai didi

java - Java中从.xlsx文件读取数据

转载 作者:行者123 更新时间:2023-12-02 05:31:31 25 4
gpt4 key购买 nike

我正在尝试从 .xlsx 文件中提取数据,因为我正在使用 POI-bin-3.11-beta2-2.jar,这里是我的 FileInputStream已创建,但问题在工作簿中。我认为我的 xssf 引用无法到达文件位置。

public class DemoExcel
{
public static void main(String[] args) throws Exception
{
//File excel = new File("C:\\Users\\aditya.lodha\\Desktop\\test.xlsx");
FileInputStream fis = null;

try{
fis = new FileInputStream(new File("C:\\Users\\aditya.lodha\\Desktop\\test.xlsx"));
System.out.println("file found");
}
catch(FileNotFoundException e){
System.out.println("file not found");
e.printStackTrace();
}
System.out.println(fis.toString());
XSSFWorkbook wb = new XSSFWorkbook(fis);
//HSSFWorkbook wb = new HSSFWorkbook(fis);
System.out.println(wb.toString());
XSSFSheet sh = wb.getSheet("tabledata");
//HSSFSheet sh = wb.getSheet("XYZ");
//System.out.println(sh.toString());
int rowNum = sh.getLastRowNum()+1;
System.out.println(rowNum);
int colNum = sh.getRow(0).getLastCellNum();
System.out.println(colNum);
String data[][] = new String [rowNum][colNum];
for(int i=0;i<rowNum;i++)
{
XSSFRow row = sh.getRow(i);
for(int j=0;j<colNum;j++)
{
XSSFCell col = row.getCell(j);
String value = celltoString(col);
data[i][j] = value;
}
}

for(int i=0;i<rowNum;i++)
{
for(int j=0;j<colNum;j++)
System.out.println(data[i][j]);

}
}
private static String celltoString(XSSFCell col)
{
int type;
Object result;
type = col.getCellType();
switch (type)
{
case 0:
result = col.getNumericCellValue();
break;

case 1:
result = col.getStringCellValue();
break;

default:
System.out.println(type);
throw new RuntimeException("Runtime Exception");
}
return result.toString();
}
}

我遇到的错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at demo.DemoExcel.main(DemoExcel.java:31)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more

最佳答案

您可能需要将 XML bean 依赖项添加到类路径中。

获取 jar ( http://poi.apache.org/download.html ),转到“项目”、“属性”、“Java 构建路径”,添加外部 jar 并选择 .jar 文件,或者只是将其放在 WEB-INF/libs 中,然后类加载器将读取它。

jar 的名称类似于 xmlbeans-(version).jar

关于java - Java中从.xlsx文件读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25484832/

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