С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/40: Рейтинг темы: голосов - 40, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.04.2017
Сообщений: 12
1

Считывание данных из Excel файла

26.04.2017, 17:30. Показов 7216. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Нужна помощь. Нужно считать данные из Excel файла и при вводе с клавиатуры цифры от 1-4 оно выводила наибольшую стоимость или наибольшую стоимость. ( таблица состоит из любых автомобилей , скоростей , стоимости).Не могу понять как это сделать. Считать и вывести все данные из таблицы могу , а дальше нет.



вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package net.codejava.excel;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
 
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
/**
 * A dirty simple program that reads an Excel file.
 * 
 * @author [url]www.codejava.net[/url]
 *
 */
public class SimpleExcelReaderExample {
 
    public static void main(String[] args) throws IOException {
        String excelFilePath = "C:/Users/Сергей/workspace/Java_Excell/kniga.xlsx";
        FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
 
        Workbook workbook = new XSSFWorkbook(inputStream);
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();
 
        while (iterator.hasNext()) {
            Row nextRow = iterator.next();
            Iterator<Cell> cellIterator = nextRow.cellIterator();
 
            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
 
                switch (cell.getCellType()) {
                case Cell.CELL_TYPE_STRING:
                    System.out.print(cell.getStringCellValue());
                    break;
                case Cell.CELL_TYPE_BOOLEAN:
                    System.out.print(cell.getBooleanCellValue());
                    break;
                case Cell.CELL_TYPE_NUMERIC:
                    System.out.print(cell.getNumericCellValue());
                    break;
                }
                System.out.print("  ");
            }
            System.out.println();
        }
 
        workbook.close();
        inputStream.close();
    }
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.04.2017, 17:30
Ответы с готовыми решениями:

Считывание и сортировка таблицы Excel из .txt файла
Нужно написать программу, которая будет считывать таблицу из Excel таблицы, сохранённой в txt...

Считывание данных из запароленного файла Excel
Доброго времени суток! Возникла такая ситуация....считываю данные из Excel файла и с этим проблем...

Считывание данных с Excel файла и ошибка IndexOutOfRange
Пытаюсь считать данные с *.xlsx файла. rng - объект класса Range, ws - Объект класса WorkSheet....

Считывание данных в двумерный массив из Excel файла
Здравствуйте дорогие форумчане! У меня возник вопрос ответ на который я сам не смог найти поэтому...

5
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.04.2017, 17:34 2
Цитата Сообщение от sergey5666 Посмотреть сообщение
от 1-4 оно выводила наибольшую стоимость или наибольшую стоимость.
кроме этого надо бы выводить наибольшую стоимость.
0
0 / 0 / 0
Регистрация: 26.04.2017
Сообщений: 12
26.04.2017, 18:05  [ТС] 3
Я имею ввиду , что допустим есть excel файл с автомобилями. У каждого есть своя скорость , своя стоимсть , свой пробег, и т.д. Я могу считать всю информацию , но не знаю как вывести конкретно наибольшее значение скорости или стоимость , или наименьшее.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.04.2017, 18:21 4
Java
1
2
3
4
5
List<A> list = new ArrayList<>();
        list.add(new A(1,2));
        list.add(new A(2,1));
        System.out.println(list.stream().max(Comparator.comparingInt(i -> i.field1)));
        System.out.println(list.stream().max(Comparator.comparingInt(i -> i.field2)));
так например
0
0 / 0 / 0
Регистрация: 26.04.2017
Сообщений: 12
26.04.2017, 21:52  [ТС] 5
xoraxax, Я попробовал добавить , но выдает ошибку , может что-то не правильно делаю?Я еще не доделал,главное чтобы сравнило ячейки и вывело , а там уже и сканер доделаю.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package net.codejava.excel;
 
import java.util.Scanner; // импорт сканера
import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
 
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
public class SimpleExcelReaderExample {
 
    public static void main(String[] args) throws IOException {
        String excelFilePath = "C:/Users/Сергей/workspace/Java_Excell/kniga.xlsx";
        FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
 
        System.out.println("1.Вывести студента с наивысшим баллом");
        System.out.println("2.Вывести студента с наименьшим количество пропусков");
        System.out.println("3.Вывести студента военнопригодного");
 
        ArrayList<A> students = new ArrayList<>();
        stundets.add(new A(1,2));
        students.add(new A(2,1));
        stundets.add(new A(3,1));
        System.out.println(students.stream().max(Comparator.comparingInt(i -> i.field1)));
        System.out.println(students.stream().max(Comparator.comparingInt(i -> i.field2)));
 
        Scanner scan = new Scanner(System.in);
        int number = scan.nextInt();
 
        Workbook workbook = new XSSFWorkbook(inputStream);
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();
 
        while (iterator.hasNext()) {
        Row nextRow = iterator.next();
        Iterator<Cell> cellIterator = nextRow.cellIterator();
 
         while (cellIterator.hasNext()) {
         Cell cell = cellIterator.next();
 
         switch (cell.getCellType()) {
         case Cell.CELL_TYPE_STRING:
         System.out.print(cell.getStringCellValue());
         break;
         case Cell.CELL_TYPE_BOOLEAN:
         System.out.print(cell.getBooleanCellValue());
         break;
         case Cell.CELL_TYPE_NUMERIC:
         System.out.print(cell.getNumericCellValue());
         break;
         }
          System.out.print(" ");
         }
         System.out.println();
         }
 
        workbook.close();
 
        inputStream.close();
    }
 
}


ошибка:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
A cannot be resolved to a type
stundets cannot be resolved
A cannot be resolved to a type
A cannot be resolved to a type
stundets cannot be resolved
A cannot be resolved to a type

at net.codejava.excel.SimpleExcelReaderExample.main(SimpleExcelReaderExample.java:2 9)
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.04.2017, 22:04 6
ты забыл подумать

Добавлено через 4 минуты
Каждая строка в экселе описывает студента. Значит надо сделать класс Student. Для каждой строки создать экземпляр этого класса, заполнить его значениями из ячеек и положить в коллекцию.
Дальше можно коллекцию сортировать, как тебе угодно, и выбирать оттуда любые данные, которые тебе захочется.
0
26.04.2017, 22:04
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.04.2017, 22:04
Помогаю со студенческими работами здесь

Считывание данных из текствого файла и запись в EXCEL по столбцам
Добрый день! Подскажите, пожайлуста, как мне сделать средствами Delphi программу, которая будет...

Запрос данных из файла. Проблема в открывании файла и считывание из него данных
Не понимаю что не так, программа не хочет открывать файл... Пробовал и перемещать его, и...

Быстрое считывание ИЗ excel файла
Всем добрый день. Интересует вот какой вопрос: Имеется xls файл, в котором в реальном времени...

Считывание данных из Excel
Коллеги! Возник такой вопрос. Имеется много файлов Excel (365). Нужно считать с каждого файла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru