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

时间:2017-09-07 10:23:18

标签: java excel apache jar

enter image description here我正在尝试从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 http://poi.apache.org/download.html#POI-3.16

下载了外部Jar文件

我们非常感谢您的帮助。

please find attached screenshot of code with output or error

4 个答案:

答案 0 :(得分:0)

尝试使用FileInputStream:

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);
    }

答案 1 :(得分:0)

也许您没有使用当前版本。我有同样的问题。

POI-3.8-20120326 POI-OOXML-3.9 POI-OOXML-架构 - 3.7 POI-OOXML-架构 - 3.9

尝试安装此版本或最新版本。

答案 2 :(得分:0)

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

下载here

答案 3 :(得分:-1)

首先,如果您有文件对象,那么为什么需要传递 FileInputStream

其次,您无法将 FileInputStream 传递给 XSSFWorkbook ,因为构造函数可以接受文件字符串,< strong> InputStream , OPCPackage 和一个空白的构造函数,请参阅this

由于您已有文件对象,因此您可以尝试以下代码:

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