Apache POI – JAVA – повторение столбцов в excel

новый для java здесь. Я работаю над кодом, который читает файлы excel (глядя на ячейки в столбцах), а затем записывает что-то похожее на следующие таблицы:

У меня есть файл excel, который выглядит так:

col1 col2 col3 col4 ----------------------------- row1 | 2,3,1 _ 1 w row2 | 3,2,7 _ 2 x row3 | _ _ 3 y row4 | 4,9 _ 4 z 

Я пишу некоторые значения (используя XLWT) в столбце 2, которые выглядят следующим образом:

  col1 col2 col3 col4 ----------------------------- row1 | 2,3,1 x,y,w 1 w row2 | 3,2,7 y,x 2 x row3 | _ _ 3 y row4 | 4,9 z 4 z 

По существу, сравниваются столбец 3 и столбец 1, и если ячейка (1,1) имеет значения, согласованные в столбце 3, значения столбца 4 (которые соответствуют столбцу 3) записываются в столбец 2.

Я сделал это на Python на самом деле, и я рассматривал использование Jython, однако я не мог найти никаких документов по импорту модулей python в код Jython. Я считаю, что XSSF apache-poi – единственный способ разрешить работу с xlsx-файлами в java.

Соответствующая страница: как выполнить итерацию ячейки excel в java

 import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; public class Python { public static void main(String[] args) { try { FileInputStream file = new FileInputStream(new File("C:\\Users\\...\\Bioactives25s.xlsx")); XSSFWorkbook workbook = new XSSFWorkbook(file); XSSFSheet worksheet = workbook.getSheetAt(0); for (int i = 0; i < 9999; i++) { XSSFRow row = worksheet.getRow(i); if(row == null) { //iterates over rows } for (int j = 0; j < 30; j++) { XSSFCell cell = row.getCell(j); if(cell == null) { //iterates over cells 

В основном ищет способ перебора значений столбцов. Я просмотрел документацию: http://poi.apache.org/spreadsheet/quick-guide.html#Iterator

Но я мог найти код для обработки строк и ячеек, а не столбцов. Тем не менее, я хотел бы перебирать столбцы. Есть ли какой-нибудь код, чтобы справиться с этим?

Просто перебирайте строки и берете требуемую ячейку:

 int columnIndex = 3; for (int rowIndex = 0; rowIndex<3; rowIndex++){ Row row = CellUtil.getRow(rowIndex, sheet); Cell cell = CellUtil.getCell(row, columnIndex); } 
  • XSSF Excel, названные стилями
  • Как использовать vlookup или формулы в SXSSFWorkbook с Apache POI?
  • Доступ к файлу .xlsb в java
  • java.sql.SQLException: неверный URL-адрес Oracle, указанный для Java8 с использованием драйвера oracle
  • Как читать первые n строк файла HUGE excel
  • Когда использовать ситализатор и итератор для итерации по строкам листа excel
  • Java. Самый эффективный метод для добавления значений, связанных с дублирующими ключами.
  • При сохранении XSSFWorkbook обновляется только одна строка
  • Не удалось создать раскрывающийся список в Excel с помощью POI
  • JFileChooser и чтение из файла Excel с помощью JAVA
  • Как создать гиперссылку на фильтр на другом листе, используя Apache poi в Java?
  • Interesting Posts

    Python 3 – писать из построенного словаря для Excel с использованием панд

    Извлечь буквенную цифру из предложения

    Циклы сумм VBA в массивах формул

    создавать и редактировать защищенный паролем файл excel

    PowerShell открывает, сохраняет и закрывает файлы с тем же именем в сетевом хранилище

    Каков наилучший способ хранения настроек на основе рабочей таблицы?

    Вставка и обновление данных в Excel

    Excel: получить определенное значение по ключу из набора строк

    Ошибка переполнения в Instr ()

    ExecuteExcel4Macro, чтобы получить значение из закрытой книги

    Копирование данных из одной книги в другую

    Временная метка, когда ячейка изменяется по формуле (Excel)

    Есть ли какой-либо путь через java-программу, я могу сказать Excel открыть файл csv в utf8?

    Поиск из нескольких таблиц данных с использованием значения Cube в Excel

    Загрузите несколько данных с помощью листа excel в базе данных.

    Давайте будем гением компьютера.