From f094344178baf8b9ad34f0f153a425fca8eb7fc0 Mon Sep 17 00:00:00 2001
From: zhangmeng <1334717033@qq.com>
Date: Sat, 28 Oct 2023 17:55:12 +0800
Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B410=E6=9C=8828=E6=97=A517:54:57?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 23 ++++-
.../controller/ExcelFileReadController.java | 97 +++++++++++++++++++
.../tools/controller/HomeController.java | 4 +
.../controller/SmallToolsController.java | 25 +++++
.../com/zhangmeng/tools/utils/AlertUtils.java | 2 +-
.../zhangmeng/tools/utils/ResourcesUtils.java | 1 +
src/main/resources/fxml/excel-read.fxml | 17 ++++
src/main/resources/fxml/home.fxml | 1 +
8 files changed, 168 insertions(+), 2 deletions(-)
create mode 100644 src/main/java/com/zhangmeng/tools/controller/ExcelFileReadController.java
create mode 100644 src/main/resources/fxml/excel-read.fxml
diff --git a/pom.xml b/pom.xml
index 9512755..38e801a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
3.2.1
3.9.1
1.7
- 3.17
+ 5.2.3
2.1.5
1.3.0
5.8.15
@@ -460,6 +460,27 @@
timi-inject
1.4.0
+
+
+ org.apache.poi
+ poi-ooxml
+ ${poi.version}
+
+
+
+
+ xerces
+ xercesImpl
+ 2.12.2
+
+
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.21.0
+
+
diff --git a/src/main/java/com/zhangmeng/tools/controller/ExcelFileReadController.java b/src/main/java/com/zhangmeng/tools/controller/ExcelFileReadController.java
new file mode 100644
index 0000000..338eaad
--- /dev/null
+++ b/src/main/java/com/zhangmeng/tools/controller/ExcelFileReadController.java
@@ -0,0 +1,97 @@
+package com.zhangmeng.tools.controller;
+
+
+import cn.hutool.core.lang.Console;
+import cn.hutool.poi.excel.ExcelReader;
+import cn.hutool.poi.excel.ExcelUtil;
+import cn.hutool.poi.excel.sax.handler.RowHandler;
+import com.zhangmeng.tools.utils.AlertUtils;
+import com.zhangmeng.tools.utils.ImagePath;
+import javafx.application.Platform;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.TableView;
+import javafx.scene.control.TextField;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+public class ExcelFileReadController {
+
+ @FXML
+ public Button file_choose;
+
+ @FXML
+ public TableView result_view;
+
+ @FXML
+ public TextField file_path;
+
+ private final SimpleObjectProperty choose_file = new SimpleObjectProperty<>(null);
+
+ @FXML
+ public Button open_excel;
+
+ @FXML
+ public void initialize() {
+
+ file_choose.setText(null);
+ ImageView iv = new ImageView(new Image(ImagePath.path(ImagePath.ImagePathType.IMAGE_FILE)));
+ iv.setPreserveRatio(true);
+ iv.setFitWidth(18);
+ file_choose.setGraphic(iv);
+
+ //选择文件
+ file_choose.setOnAction(event -> choose_file());
+
+ //打开文件
+ open_excel.setOnAction(event -> {
+
+ if (choose_file.getValue() == null) {
+ AlertUtils.alert_warning("请选择将要识别的pdf再试!");
+ return;
+ }
+
+ Stage alert = AlertUtils.alert_loading(file_choose.getScene().getWindow());
+ new Thread(() -> {
+
+ //打开文件
+ readBySax();
+
+ Platform.runLater(() -> {
+ log.info("打开文件.....");
+ alert.close();
+ });
+ }).start();
+ });
+ }
+
+ public void choose_file() {
+ Stage stage = new Stage();
+ FileChooser dc = new FileChooser();
+ dc.setTitle("文件选择");
+ dc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("类型", "*.xlsx"));
+ File file = dc.showOpenDialog(stage);
+ if (file != null) {
+ String path = file.getAbsolutePath();
+ file_path.setText(path);
+ log.info("file_path:{}", path);
+ choose_file.set(file);
+ }
+ }
+
+ public void readBySax(){
+ ExcelReader reader = ExcelUtil.getReader(choose_file.getValue());
+ List