powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / javafx выбор файла и его чтение
18 сообщений из 18, страница 1 из 1
javafx выбор файла и его чтение
    #39851283
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер! есть задача, которую ни как не могу решить. Сделал кнопку по нажатию которой открывается проводник и мы выбираем эксель файл. Сделал это так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private void handle(ActionEvent event) {
        Node source = (Node) event.getSource();
        Stage PrimaryStage = (Stage) source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter xlsxfilter = new FileChooser.ExtensionFilter("xlsx files(*.xlsx)", "*.xlsx");
        fileChooser.getExtensionFilters().add(xlsxfilter);
        fileChooser.getExtensionFilters().addAll(xlsxfilter);
        fileChooser.setTitle("Выбор файла");
        fileObject = fileChooser.showOpenDialog(PrimaryStage);
        if (fileObject != null) {
          
            String putkfailu = fileObject.getPath();




Но есть задача не просто выбирать этот файл, а выбираем и пытаемся попасть в него вернее в его содержимое. Так вот fileobject я получил. НО как мне до самого содержимого добраться? Apache poi в проект я подключил...
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851291
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
название ппц конечно putkfailu)))
у тебя есть filepath ,далее просто читай файл а чем проблема?
Код: 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.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
 
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
 
public class ReadExcelDemo {
 
    public static void main(String[] args) throws IOException {
 
        // Read XSL file
        FileInputStream inputStream = new FileInputStream(new File("C:/demo/employee.xls"));
 
        // Get the workbook instance for XLS file
        HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
 
        // Get first sheet from the workbook
        HSSFSheet sheet = workbook.getSheetAt(0);
 
        // Get iterator to all the rows in current sheet
        Iterator<Row> rowIterator = sheet.iterator();
 
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            // Get iterator to all cells of current row
            Iterator<Cell> cellIterator = row.cellIterator();
 
            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
 
                // Change to getCellType() if using POI 4.x
                CellType cellType = cell.getCellTypeEnum();
 
                switch (cellType) {
                case _NONE:
                    System.out.print("");
                    System.out.print("\t");
                    break;
                case BOOLEAN:
                    System.out.print(cell.getBooleanCellValue());
                    System.out.print("\t");
                    break;
                case BLANK:
                    System.out.print("");
                    System.out.print("\t");
                    break;
                case FORMULA:
                    // Formula
                    System.out.print(cell.getCellFormula());
                    System.out.print("\t");
                     
                    FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
                    // Print out value evaluated by formula
                    System.out.print(evaluator.evaluate(cell).getNumberValue());
                    break;
                case NUMERIC:
                    System.out.print(cell.getNumericCellValue());
                    System.out.print("\t");
                    break;
                case STRING:
                    System.out.print(cell.getStringCellValue());
                    System.out.print("\t");
                    break;
                case ERROR:
                    System.out.print("!");
                    System.out.print("\t");
                    break;
                }
 
            }
            System.out.println("");
        }
    }
 
}
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851293
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

Вы имеете ввиду вот так сделать?

String putkfailu = fileObject.getPath();
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851295
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dolcegabanaasv79,

Вы имеете ввиду вот так сделать?

String putkfailu = fileObject.getPath();
вот этот putkfailu вставь
сюда
Код: java
1.
FileInputStream inputStream = new FileInputStream(new File(putkfailu));
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851296
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

вставил! но при компиляции ошибка:
Error:(68, 57) java: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown

Что можно сделать?
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851297
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dolcegabanaasv79,

вставил! но при компиляции ошибка:
Error:(68, 57) java: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown

Что можно сделать?
значит по указанному тобой пути нет файла
указать правильный путь)
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851301
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выведи в консоль
String putkfailu вот это и напиши сюда что в консоли пишет
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851302
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

так в том то и дело при запуске компилятора на экран ошибка и не выходит форма с кнопкой, по которой происходит вызов filechooser и естсесно не могу выбрать сам файл...
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851306
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dolcegabana Так вот fileobject я получил. НО как мне до самого содержимого добраться? Apache poi в проект я подключил...
ты сам пишешь что ты получил fileObject

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private void handle(ActionEvent event) {
        Node source = (Node) event.getSource();
        Stage PrimaryStage = (Stage) source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter xlsxfilter = new FileChooser.ExtensionFilter("xlsx files(*.xlsx)", "*.xlsx");
        fileChooser.getExtensionFilters().add(xlsxfilter);
        fileChooser.getExtensionFilters().addAll(xlsxfilter);
        fileChooser.setTitle("Выбор файла");
        fileObject = fileChooser.showOpenDialog(PrimaryStage);
        if (fileObject != null) {
          
            String putkfailu = fileObject.getPath();



этот кусок кода у тебя же работал?
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851308
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79dolcegabana Так вот fileobject я получил. НО как мне до самого содержимого добраться? Apache poi в проект я подключил...
ты сам пишешь что ты получил fileObject

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private void handle(ActionEvent event) {
        Node source = (Node) event.getSource();
        Stage PrimaryStage = (Stage) source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter xlsxfilter = new FileChooser.ExtensionFilter("xlsx files(*.xlsx)", "*.xlsx");
        fileChooser.getExtensionFilters().add(xlsxfilter);
        fileChooser.getExtensionFilters().addAll(xlsxfilter);
        fileChooser.setTitle("Выбор файла");
        fileObject = fileChooser.showOpenDialog(PrimaryStage);
        if (fileObject != null) {
          
            String putkfailu = fileObject.getPath();




этот кусок кода у тебя же работал?
да работал

Приведу полный код :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    public void onClickMethod()  {
        DownloadXLSX.setOnAction(this::handle);
    }

    @FXML
    void initialize() {
    }

    private void handle(ActionEvent event) {
        Node source = (Node) event.getSource();
        Stage PrimaryStage = (Stage) source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter xlsxfilter = new FileChooser.ExtensionFilter("xlsx files(*.xlsx)", "*.xlsx");
        fileChooser.getExtensionFilters().add(xlsxfilter);
        fileChooser.getExtensionFilters().addAll(xlsxfilter);
        fileChooser.setTitle("Выбор файла");
        fileObject = fileChooser.showOpenDialog(PrimaryStage);
        if (fileObject != null) {
            //fileObject.getAbsoluteFile();

            String file = fileObject.getPath();
            FileInputStream inputStream = new FileInputStream(new File(file));






т.е. на кнопку повешено событие onClickMethod()
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851312
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dolcegabanaasv79пропущено...

ты сам пишешь что ты получил fileObject

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private void handle(ActionEvent event) {
        Node source = (Node) event.getSource();
        Stage PrimaryStage = (Stage) source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter xlsxfilter = new FileChooser.ExtensionFilter("xlsx files(*.xlsx)", "*.xlsx");
        fileChooser.getExtensionFilters().add(xlsxfilter);
        fileChooser.getExtensionFilters().addAll(xlsxfilter);
        fileChooser.setTitle("Выбор файла");
        fileObject = fileChooser.showOpenDialog(PrimaryStage);
        if (fileObject != null) {
          
            String putkfailu = fileObject.getPath();




этот кусок кода у тебя же работал?
да работал

Приведу полный код :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    public void onClickMethod()  {
        DownloadXLSX.setOnAction(this::handle);
    }

    @FXML
    void initialize() {
    }

    private void handle(ActionEvent event) {
        Node source = (Node) event.getSource();
        Stage PrimaryStage = (Stage) source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter xlsxfilter = new FileChooser.ExtensionFilter("xlsx files(*.xlsx)", "*.xlsx");
        fileChooser.getExtensionFilters().add(xlsxfilter);
        fileChooser.getExtensionFilters().addAll(xlsxfilter);
        fileChooser.setTitle("Выбор файла");
        fileObject = fileChooser.showOpenDialog(PrimaryStage);
        if (fileObject != null) {
            //fileObject.getAbsoluteFile();

            String file = fileObject.getPath();
            FileInputStream inputStream = new FileInputStream(new File(file));






т.е. на кнопку повешено событие onClickMethod()
ну вот допиши сюда
вместо
Код: java
1.
FileInputStream inputStream = new FileInputStream(new File(file));


Код: java
1.
System.out.println(file);


и сюда покажи что выводит в консоль
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851318
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C:\Users\Андрей\Desktop\Лист Microsoft Excel.xlsx
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851323
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может нужно отбрасывать исключения?
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851326
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dolcegabanaможет нужно отбрасывать исключения?
да не
у тебя проблема в пути к файлу,во первых кирилица( я честно не знаю насколько это хорошо) ,а пробел в названии ,а это 100% косяк

для начала просто создай папку в C
назови ее английскими буквами и положи этот файл туда и запусти заново
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851329
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
 try {
                FileInputStream inputStream = new FileInputStream(new File(file));
                
            }
             catch (Exception e)
             {

             }




так надо было сделать
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851331
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже это особенность явы, но проблема ушла
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851332
dolcegabana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

Спасибо Вам большое! Следующий шаг надо будет парсить ячейки записывать в базу) но это совсем др история
...
Рейтинг: 0 / 0
javafx выбор файла и его чтение
    #39851338
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dolcegabanaasv79,

Спасибо Вам большое! Следующий шаг надо будет парсить ячейки записывать в базу) но это совсем др история
да не за что, https://o7planning.org/ru/11259/read-write-excel-file-in-java-using-apache-poi

вот тут пишут как это делать
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / javafx выбор файла и его чтение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]