HSSFArea.java : Метод getCells() не определен для типа AreaReference

#java #excel #import

#java #excel #импорт

Вопрос:

Eclipse выдает мне следующую ошибку: метод getCells () не определен для типа AreaReference. Это странно, потому что точно такой же код не выдает мне ошибку на моем другом компьютере, который работает под управлением той же операционной системы и версии Eclipse. На рабочем компьютере указано, что функция (метод?) находится в org.apache.poi.hssf.util.AreaReference, который импортируется в начале. Похоже, что он неправильно импортирует, есть идеи, как это исправить?? Ниже приведена часть HSSFArea.java где находится ошибка.

 AreaReference areaReference = getAreaForName(wb, name);
    if(areaReference == null) {
        return null;
    } else {
        CellReference[] cellReferences = areaReference.getCells();
  

Заранее спасибо

Ответ №1:

Все это указывает на другую версию jar . (POI ??). Как вы управляете своим управлением зависимостями … (maven??).

Я просто удостоверюсь, что правильная версия jar доступна как зависимость в обоих настройках проекта.

Комментарии:

1. Я просто использую стандартную версию Eclipse, поэтому я не думаю, что использую Maven (я даже не знаю, что такое Maven = /). В любом случае, да, он использует POI, и файл .jar отображается в разделе Библиотеки, на которые ссылаются… Я попытался обновить версию POI, но это ничего не изменило. Я довольно новичок в Java, есть ли другие способы проверить зависимость?

2. вот копия моего кода — megaupload.com/?d=RY12WPZW — обратите внимание, что он использует плагин OptimJ для Eclipse, поэтому вы не сможете запустить его, если он у вас не установлен

3. Можете ли вы нажать control-o (я думаю, я использую IDEA) и найти класс AreaReference. Вам нужно будет ввести и, когда он появится в списке, открыть его. (у вас, скорее всего, не будет декомпилятора). Это откроет скелет методов кода. просто убедитесь, что метод getcells доступен.

4. Я думаю, что он доступен … он общедоступен. Вот фрагмент кода: общедоступная организация.apache.poi.hssf.util. CellReference[] getCells(); 0 aload_0 [this] 1 getfield org.apache.poi.hssf.util. AreaReference.cells : org.apache.poi.hssf.util. Ссылка на ячейку[] [5] 4 — это обратные номера строк: [pc: 0, строка: 45] Таблица локальных переменных: [pc: 0, pc: 5] local: этот индекс: 0 тип: org.apache.poi.hssf.util. AreaReference

5. в проводнике пакетов есть зеленый кружок рядом с getCells() : CellReference[] .