Как повторять первые столбцы, затем строки для чтения листа Excel в Java -- java пол Связанный проблема

how to iterate first columns then rows to read excel sheet in java


0
vote

проблема

русский

Я хочу прочитать лист Excel так что я хочу прочитать мои данные 1-го столбца и повторять все строки, затем 2-й столбец Так как это сделать.

Я сначала попробовал использовать итерацию строки, а затем coloumn

 <код>   Iterator < Row > rowIterator = sheetName.iterator();    while (rowIterator.hasNext()) {    Row row = rowIterator.next();    Iterator < Cell > cellIterator = row.cellIterator();     while (cellIterator.hasNext()) {     Cell cell = cellIterator.next();    }   }   
Английский оригинал

i want to read an excel sheet so i want to read my 1st column data and iterate all rows then 2nd column so how to do it.

i have tried using row iteration first then followed by coloumn

  Iterator < Row > rowIterator = sheetName.iterator();    while (rowIterator.hasNext()) {    Row row = rowIterator.next();    Iterator < Cell > cellIterator = row.cellIterator();     while (cellIterator.hasNext()) {     Cell cell = cellIterator.next();    }   } 
</div
  
 
 

Список ответов

0
 
vote
vote
Лучший ответ
 

Если я правильно понимаю вам вопрос, вы пытаетесь сначала перейти на столбца, а затем ряд. Это то, что вы можете попытаться сделать. Надеюсь, это поможет:

 <код> Sheet sheet = workbook.getSheetAt(0);     for(int i=0; i<sheet.getRow(sheet.getTopRow()).getLastCellNum(); i++){         Iterator<Row> rowIterator=sheet.rowIterator();         while(rowIterator.hasNext()){             System.out.println(rowIterator.next().getCell(i)); //do what you want          }      }   
 

If i understand you question properly then you are trying to iterate over column first then row . This is what you might be trying to do. Hope it helps :

Sheet sheet = workbook.getSheetAt(0);     for(int i=0; i<sheet.getRow(sheet.getTopRow()).getLastCellNum(); i++){         Iterator<Row> rowIterator=sheet.rowIterator();         while(rowIterator.hasNext()){             System.out.println(rowIterator.next().getCell(i)); //do what you want          }      } 
</div
 
 
   
   
0
 
vote

Если я понимаю вопрос, вы хотите прочитать данные из столбца Excel. I.e. Прочитайте весь столбец1, а затем переместитесь в столбец2 и так далее.

Если это ваше требование, пожалуйста, найдите для фрагмента кода в Java.

 <код> // Getting List of Column Headers in the sheet and saving the same to a list int masterSheetColumnIndex = sheet.getColumns(); List<String> ExpectedColumns = new ArrayList<String>(); for (int x = 0; x < masterSheetColumnIndex; x++) {     Cell celll = sheet.getCell(x, 0);     String d = celll.getContents();     System.out.println("d : "+d);     ExpectedColumns.add(d); }  columnDataValues = new LinkedHashMap<String, List<String>>(); List<String> column1 = new ArrayList<String>(); // read values from excel sheet for each column for (int j = 0; j < masterSheetColumnIndex; j++) {     column1 = new ArrayList<String>();     for (int i = 1; i < sheet.getRows()-7; i++) {         Cell cell = sheet.getCell(j, i);         column1.add(cell.getContents());         System.out.println("cell.getContents() : "+cell.getContents());     }     columnDataValues.put(ExpectedColumns.get(j), column1); }   

Пожалуйста, вернитесь в случае любых запросов в вышеуказанном коде.

 

If I understand the question, you want to read the data from excel column-wise. i.e. read the entire Column1 and then move to Column2 and so on.

If that is your requirement, Please find for the code snippet in java.

// Getting List of Column Headers in the sheet and saving the same to a list int masterSheetColumnIndex = sheet.getColumns(); List<String> ExpectedColumns = new ArrayList<String>(); for (int x = 0; x < masterSheetColumnIndex; x++) {     Cell celll = sheet.getCell(x, 0);     String d = celll.getContents();     System.out.println("d : "+d);     ExpectedColumns.add(d); }  columnDataValues = new LinkedHashMap<String, List<String>>(); List<String> column1 = new ArrayList<String>(); // read values from excel sheet for each column for (int j = 0; j < masterSheetColumnIndex; j++) {     column1 = new ArrayList<String>();     for (int i = 1; i < sheet.getRows()-7; i++) {         Cell cell = sheet.getCell(j, i);         column1.add(cell.getContents());         System.out.println("cell.getContents() : "+cell.getContents());     }     columnDataValues.put(ExpectedColumns.get(j), column1); } 

Please revert in case of any queries in above code.

</div
 
 

Связанный проблема

17  Перегрузка Java VS переопределения  ( Java overloading vs overriding ) 
Привет, я просто хочу убедиться, что у меня есть эти понятия правильно. Перегрузка в Java означает, что у вас может быть конструктор или метод с различным кол...

1  Реализация интерфейса Realmmodel при расширении другого объекта  ( Implementing realmmodel interface while extending another object ) 
Я хочу использовать новую функцию realm-java, где я могу просто реализовать интерфейс Realmmodel и добавить аннотацию @realmclass для определения таблицы. Все...

0  Класс libgdx не рисует текстуру  ( Libgdx class does not draw texture ) 
Я пытаюсь нарисовать игровой символ в моем классе "MaigaMestreen.java" из класса "Mavans.java", когда я касаюсь экрана моего телефона. К сожалению, моя прогр...

22  Множественные методы постконструкции?  ( Multiple postconstruct methods ) 
Он говорит в Документация Java для Postconstruct что Только один метод может быть аннотирован с этой аннотацией Но я просто пытался аннотировать три м...

0  Как удалить нынешние barchart (jfreechart), отображаемый и отображаю новый Barchart в том же представлении плагина Eclipse RCP?  ( How to delete the present barchartjfreechart displayed and display new barchar ) 
Я создаю Barchart с видом на плагин RCP. Данные, которые будут отображаться на графике, поставляется из файла базы данных SQLite3. Код, который я написал, ото...

21  Тип несоответствия для генеральных классов  ( Type mismatch for class generics ) 
У меня есть следующий код, который не скомпировался, и хотя есть способ сделать его компиляцией, я хочу понять, почему он не компилирует. Может ли кто-нибудь ...

60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат]  ( Getting a concurrentmodificationexception thrown when removing an element from a ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

1  Установка поля _ID с использованием SQLite & ContentProvider в Android  ( Setting the id field using sqlite contentprovider in android ) 
Я пытаюсь настроить ContentProvider в приложении Android, чтобы держать информацию о домах. Я хотел бы иметь возможность установить поле _id, чтобы быть таким...

5  Конвенции о ведении регистрации [Закрыто]  ( Logging conventions ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

3  Eclipse Java Formatter - новая линия до закрытия скобок  ( Eclipse java formatter newline before closing parentheses ) 
Можно ли настроить Dippleter Eclipse Java для вставки новой строки до закрытия скобок выражений, деклараций метода и вызовы методов? Обратите внимание на же...

0  Должен ли я использовать Mac для разработки Javafx для iOS  ( Do i have to use a mac to develop javafx for ios ) 
Документация http://docs.gluonhq.com/charm/4.0.1 / # _ iOS говорит, что мне нужно «Mac с MacOS X 10.9 или превосходящим» для разработки для iOS. Но я не пон...

1  Apache Vamel: Как проверить, например, набор набора <customObject>  ( Apache camel how to test for instance of setcustomobject ) 
Кто-нибудь знает, как тестировать для различных типов коллекции в маршруте? <код> // This processor returns a Collection of 2 Sets // 1. Set<GoodMessage> //...

-1  Нужно упростить логическое выражение (байт, короткое, целое число) Java  ( Need to simplify logical expression byte short integer java ) 
Мне нужно упростить выражение Первое выражение <код> (byte)( (short)((short)( (byte)((theInt >> 8) & 0xFF) & 0xFF) + 128) & 0xFF); второе выражение ...

0  Android Studio Back Button  ( Android studio back button problems ) 
на данный момент. Я создал простое приложение для викторины на Android Studio. Все работает нормально, в том числе, когда я иду от первой фактической жизни. Я...

3  Как мне изменить ответ на запрос на параметры http в приложении Spring MVC 2.5?  ( How do i change the response for a http options request in a spring mvc 2 5 appl ) 
Это звучит как тривиальный вопрос, но каким-то образом я не могу понять это. У меня есть приложение Spring MVC. Я не поддерживаю никаких HTTP-методов, кроме...

Связанный проблема

17  Перегрузка Java VS переопределения 
1  Реализация интерфейса Realmmodel при расширении другого объекта 
0  Класс libgdx не рисует текстуру 
22  Множественные методы постконструкции? 
0  Как удалить нынешние barchart (jfreechart), отображаемый и отображаю новый Barchart в том же представлении плагина Eclipse RCP? 
21  Тип несоответствия для генеральных классов 
60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат] 
1  Установка поля _ID с использованием SQLite & ContentProvider в Android 
5  Конвенции о ведении регистрации [Закрыто] 
3  Eclipse Java Formatter - новая линия до закрытия скобок 
0  Должен ли я использовать Mac для разработки Javafx для iOS 
1  Apache Vamel: Как проверить, например, набор набора <customObject> 
-1  Нужно упростить логическое выражение (байт, короткое, целое число) Java 
0  Android Studio Back Button 
3  Как мне изменить ответ на запрос на параметры http в приложении Spring MVC 2.5?