first commit
This commit is contained in:
117
README.md
Normal file
117
README.md
Normal 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** - для логирования
|
||||
Reference in New Issue
Block a user