first commit

This commit is contained in:
2025-10-16 14:37:26 +03:00
commit 7dee19aa8f

117
README.md Normal file
View File

@@ -0,0 +1,117 @@
# 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** - для логирования