Я хочу, чтобы моя программа читала колонку excel сверху вниз, а не слева направо, как это делается прямо сейчас. К сожалению, я не могу найти ничего в документации, которая позволяет мне это делать.Apache POI - Итерирование по столбцам в excel (XSSF)
У меня есть файл первенствовать, который выглядит следующим образом:
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 y, и я рассматривал использование Jython, однако я не мог найти никаких документов по импорту модулей python в код Jython. Я считаю, что XSSF apache-poi - единственный способ разрешить работу с xlsx-файлами в java.
Соответствующая страница: How to do cell iteration of excel in java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
public class Expy {
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 rowIndex = 0; rowIndex<3; rowIndex++){
XSSFRow row = worksheet.getRow(rowIndex);
for (int columnIndex = 0; columnIndex<3; columnIndex++){
XSSFCell cell = row.getCell(columnIndex);
System.out.print(cell);.getCell(j);
//iterates over cells
Опять же, в основном, ищут способ для перебора значений столбцов (сверху вниз). Я просмотрел документацию: http://poi.apache.org/spreadsheet/quick-guide.html#Iterator
Но я мог найти код для работы со строками и ячейками, а не с столбцами. Тем не менее, я хотел бы перебирать столбцы. Есть ли какой-нибудь код, чтобы справиться с этим?
колонка таблицы является количество клеток с той же позиции в последовательных строках. Пример: столбец 'C: C' является' C1: Cn' является '.getRow (0) .getCell (2)', '.getRow (1) .getCell (2)', '.getRow (2) .getCell (2) ', ...' .getRow (n) .getCell (2) '. –
Не задавайте один и тот же вопрос дважды! – Gagravarr