# Excel to Access Migration Tool Инструмент для миграции данных из Excel файлов в Microsoft Access базу данных с использованием Java 24 и UCanAccess. ## Возможности - Графический интерфейс для выбора файлов Excel и Access - Конфигурационный файл JSON для настройки маппинга колонок - Поддержка множественных листов Excel - Автоматическое создание таблиц в Access - Пакетная вставка данных для повышения производительности - Логирование процесса миграции ## Требования - Java 24 - Maven 3.6+ - Microsoft Access база данных (.accdb или .mdb) ## Установка и запуск 1. Клонируйте репозиторий или скачайте проект 2. Убедитесь, что у вас установлена Java 24 3. Выполните команды: ```bash # Сборка проекта mvn clean compile # Запуск приложения mvn javafx:run ``` ## Конфигурация Создайте файл конфигурации `mapping-config.json` в корне проекта или укажите путь к нему в UI: ```json { "database": { "accessFilePath": "path/to/your/database.accdb", "connectionString": "jdbc:ucanaccess://path/to/your/database.accdb" }, "mappings": [ { "excelSheet": "Sheet1", "accessTable": "Table1", "columnMappings": [ { "excelColumn": "A", "accessColumn": "ID", "dataType": "INTEGER" }, { "excelColumn": "B", "accessColumn": "Name", "dataType": "VARCHAR" } ] } ], "settings": { "skipEmptyRows": true, "skipHeaderRow": true, "batchSize": 1000, "createTableIfNotExists": true } } ``` ## Использование 1. Запустите приложение 2. Выберите Excel файл для миграции 3. Выберите Access базу данных 4. Выберите файл конфигурации 5. Нажмите "Start Migration" ## Поддерживаемые типы данных - `INTEGER` - целые числа - `DECIMAL`/`DOUBLE`/`FLOAT` - числа с плавающей точкой - `VARCHAR`/`STRING`/`TEXT` - текстовые данные - `BOOLEAN`/`BOOL` - логические значения - `DATE` - даты ## Логирование Логи сохраняются в папке `logs/` и отображаются в UI приложения. ## Структура проекта ``` src/main/java/com/excelaccess/ ├── MainApplication.java # Главный класс приложения ├── controller/ │ └── MainController.java # Контроллер UI ├── model/ # Модели данных │ ├── MappingConfig.java │ ├── DatabaseConfig.java │ ├── SheetMapping.java │ ├── ColumnMapping.java │ └── MigrationSettings.java └── service/ # Сервисы ├── ExcelService.java # Работа с Excel ├── AccessService.java # Работа с Access ├── ConfigService.java # Загрузка конфигурации └── MigrationService.java # Основной сервис миграции ``` ## Зависимости - **UCanAccess** - для работы с Access базами данных - **Apache POI** - для чтения Excel файлов - **Jackson** - для работы с JSON конфигурацией - **JavaFX** - для графического интерфейса - **SLF4J + Logback** - для логирования