apache Java读取/写入Excel -错误:未定义构造函数XSSFWorkbook(FileInputStream)

vqlkdk9b  于 2022-12-04  发布在  Apache
关注(0)|答案(4)|浏览(154)


我正在尝试从Excel文件中读取数据,我正在使用以下代码:

File src = new File("T:\\SeleniuminputFiles\\input.xlsx");
FileInputStream fis = new FileInputStream(src);
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet1 = wb.getSheetAt(0);

但是我得到了编译错误,因为构造函数XSSFWorkbook(FileInputStream)未定义。
我已经从最新的稳定版本Apache POI 3.16 www.example.com下载了外部Jar文件http://poi.apache.org/download.html#POI-3.16
您的帮助将不胜感激。

ztigrdn8

ztigrdn81#

尝试使用文件输入流:

public void ReadExcel()
    {
       String excelFilePath = "D://Selenium Training//ExcelSearch//Configurations.xlsx";

       FileInputStream inputStream = new FileInputStream(new File(excelFilePath));

       Workbook workbook = new XSSFWorkbook(inputStream);

       Sheet firstSheet = workbook.getSheetAt(0);
    }
zzlelutf

zzlelutf2#

也许你没有使用当前版本。我也有同样的问题。
20120326年第一次访问
请尝试安装此版本或最新版本。

kmbjn2e3

kmbjn2e33#

我遇到了同样的问题。我在构建路径中添加了最新的poi jar。问题解决了。它有多个jar文件。添加项目中的所有jar文件。文件名:poi-bin-4.0.0-20180907
下载here

2ul0zpep

2ul0zpep4#

首先,如果您有File对象,那么为什么需要传递FileInputStream
第二,不能将FileInputStream传递给XSSFWorkbook,因为构造函数可以接受FileStringInputStreamOPCPackage和空构造函数,请参见this
由于你已经有了一个file对象,所以你可以尝试下面的代码:

File file = new File("T:\\SeleniuminputFiles\\input.xlsx");
XSSFWorkbook wb = new XSSFWorkbook(file);

相关问题