Files
access_post/README.md
2025-10-16 14:37:26 +03:00

3.9 KiB
Raw Permalink Blame History

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. Выполните команды:
# Сборка проекта
mvn clean compile

# Запуск приложения
mvn javafx:run

Конфигурация

Создайте файл конфигурации mapping-config.json в корне проекта или укажите путь к нему в UI:

{
  "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 - для логирования