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

118 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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