# mapDataExporterFx **Repository Path**: XuGang6713/map-data-exporter-fx ## Basic Information - **Project Name**: mapDataExporterFx - **Description**: 使用javaFx查询导出高德接口返回信息 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-10 - **Last Updated**: 2025-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高德地图数据导出工具(JavaFX + Spring Boot) 这是一个基于 JavaFX 和 Spring Boot 构建的桌面应用程序,用于从高德地图 API 搜索公司信息并将其导出为 Excel 文件。支持关键词搜索、城市定位、分页浏览和多页数据去重查询和导出。 ## 项目介绍 ### 一、功能概述 关键词搜索:输入关键词和城市名称搜索周边企业。 城市定位:自动获取城市的经纬度坐标。 分页功能:支持上一页/下一页导航,动态更新表格数据。 数据导出:一键导出所有符合条件的数据至 Excel 文件,并进行去重处理。 防刷机制:防止频繁点击请求 API 或导出文件。 登录验证:用户需输入指定用户名或通过 UUID 验证访问系统。 ### 二、技术栈 | 类别 | 使用技术 | |------------|-------------------------------------------| | UI框架 | JavaFX | | 后端框架 | Spring Boot | | 网络请求 | Apache HttpClient | | JSON解析 | Jackson, Gson | | 数据导出 | EasyExcel | | 日志管理 | SLF4J + Logback | | 构建工具 | Maven | ### 三、 软件架构说明 本项目采用典型的 MVC 分层架构: ![输入图片说明](https://foruda.gitee.com/images/1752141189496387796/129b011c_11722649.png "屏幕截图") ### 四、目录结构说明: controller/MainAppController.java:主控制器,负责事件绑定、网络请求、数据展示和导出。 domain/Firm.java:API 返回的原始 Firm 对象。 domain/PoiResponse.java:高德地图接口返回的 POI 响应对象。 domain/ReportData.java:Excel 导出使用的数据模型。 utils/ExportUtil.java:Excel 导出工具类,支持模板填充和多 Sheet 写入。 config/ConfigLoader.java:配置文件加载器,用于读取 application.properties 中的 key。 resources/fxml/main.fxml:JavaFX 的界面布局文件。 resources/styles.css:样式表,控制 UI 外观。 ### 五、 核心模块说明 #### 1. UI 层 使用 JavaFX 编写 GUI 界面,包含以下组件: 输入框:关键词、城市名、每页数量、页码、用户名 按钮:搜索、导出 Excel 表格:显示搜索结果 分页控件:上下页切换、页码信息展示 #### 2. 业务逻辑层 MainAppController 是核心类,负责: 请求高德地图 API 获取数据 解析 JSON 并渲染到 TableView 支持翻页和导出 登录验证与防刷逻辑 #### 3. 数据访问层 使用 HttpClient 发送 HTTP 请求调用高德地图 API。 使用 Jackson 和 Gson 解析 JSON 响应。 使用 EasyExcel 导出 Excel 文件。 ### 六、依赖管理 使用 Maven 进行依赖管理,主要依赖包括: JavaFX Controls & FXML Spring Boot Web Apache HttpClient Jackson Databind / Core / Annotations EasyExcel Gson Lombok(简化实体类代码) ### 七、打包方式 使用 Maven Shade 插件打包成可执行 JAR 文件,包含所有依赖 mvn clean package 生成的 JAR 文件位于 target/ 目录下,可直接运行: java -jar map-data-exporter-fx-1.0.0.jar ## 快速开始 ### 环境要求 JDK 17+ Maven 3.6+ javaFX 21.0.7 Git(可选) ### 如何配置 JavaFX? IntelliJ IDEA: 1.打开项目设置(File > Project Structure) 2.进入 Libraries 3.点击 + → Java,选择你解压后的 javafx-sdk-21.0.7/lib 目录 4.添加所有 .jar 文件到库中 5.在运行配置 VM options 中添加:File -> Project Structure -> Modules -> Dependencies -> + -> JavaFX SDK --module-path /path/to/javafx-sdk-21.0.7/lib --add-modules=javafx.controls,javafx.fxml ### 安装步骤 1.克隆项目: git clone https://github.com/your-username/map-data-exporter-fx.git 2.修改配置文件 src/main/resources/application.properties,替换 amap.key。 3.构建项目: mvn clean packagemvn clean package 4.运行项目: java -jar target/map-data-exporter-fx-1.0.0.jar ### 示例截图 界面包含搜索栏、公司列表表格、分页按钮及导出按钮 ![输入图片说明](https://foruda.gitee.com/images/1752142315119818491/d741eafd_11722649.png "屏幕截图") ### 注意事项 该工具依赖高德地图 API,需注册账号并申请密钥。 导出路径默认为桌面,可自定义。 防止频繁点击请求 API,设置有最小间隔时间。 用户名验证逻辑可在 MainAppController.java 中扩展。