Как решить ошибку о несовместимых типах? - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю над Intellij над проектом Java.Затем я получаю сообщение об ошибке в блоке try catch о несовместимых типах.Вот часть моего кода:

try (HSSFWorkbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(System.getProperty("user.home") + "D:\\Users\\john\\Desktop\\RBBNCaseManagementTool\\src\\home\\data.xls")))) {

            HSSFSheet filtersheet = workbook.getSheetAt(0);
            int cellnum = filtersheet.getRow(0).getLastCellNum();
            int lastRow = filtersheet.getLastRowNum();
            HSSFCell cellVal1;
            HSSFCell cellVal2;
            HSSFCell cellVal3;

enter image description here Есть ли способ решить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Класс HSSFWorkbook реализует интерфейс Workbook.

В POI 4.x интерфейс Workbook реализует AutoCloseable и Closeable.

В POI 3.x начиная с 3.11 и далее интерфейс Workbook реализует только Closeable.

(До 3.11 Workbook явно даже не реализовывал Closeable; см. https://poi.apache.org/changes.html#3.11 и https://bz.apache.org/bugzilla/show_bug.cgi?id=56537)

Итак, если вы хотите использовать попробуйте с ресурсами для управления HSSFWorkbook экземпляром, простое решение - обновить до POI 4.0 или новее.

0 голосов
/ 12 декабря 2018

Попробуйте с ресурсом работать только с интерфейсом маркера. Автозаполнение, если ваш класс HSSFWorkbook не реализует его, вы получите эту ошибку.

...