![]() |
VOOZH | about |
dotnet add package Reo.Core.DataImport --version 10.0.210
NuGet\Install-Package Reo.Core.DataImport -Version 10.0.210
<PackageReference Include="Reo.Core.DataImport" Version="10.0.210" />
<PackageVersion Include="Reo.Core.DataImport" Version="10.0.210" />Directory.Packages.props
<PackageReference Include="Reo.Core.DataImport" />Project file
paket add Reo.Core.DataImport --version 10.0.210
#r "nuget: Reo.Core.DataImport, 10.0.210"
#:package Reo.Core.DataImport@10.0.210
#addin nuget:?package=Reo.Core.DataImport&version=10.0.210Install as a Cake Addin
#tool nuget:?package=Reo.Core.DataImport&version=10.0.210Install as a Cake Tool
Reo.Core.DataImport — это библиотека для импорта данных из файлов Excel и CSV с поддержкой валидации, обработки
бизнес-логики и интеграции с контейнером зависимостей (DI). Пакет решает задачи автоматизации импорта данных,
обеспечивая гибкую настройку структуры файлов, проверку обязательных полей и интеграцию с бизнес-процессами. Основные
функции:
Интерфейс для подготовки данных из файла. Реализует логику чтения, валидации и преобразования данных в объекты модели.
Сервис для определения структуры данных, отображающий колонки файла на свойства модели. Использует CellDefinition для
описания обязательных полей и заголовков.
Класс, описывающий ячейку файла: имя заголовка и флаг обязательности. Используется для проверки заполнения полей.
Базовый класс для моделей данных, содержащий методы валидации и обработки ошибок.
Методы расширения для регистрации сервисов в DI-контейнере (например, AddReoDataImport).
Используйте следующие команды для установки через NuGet:
Install-Package Reo.Core.DataImport
или
dotnet add package Reo.Core.DataImport
Добавьте сервисы в Startup.cs или Program.cs:
services.AddReoDataImport<MyDataView, Guid, MyViewDefinitionService, MyBusinessHandleService, MyValidator, MyPostImportHandler>(configuration);
Где:
MyDataView — модель данных, наследующая BaseDataImportView.MyViewDefinitionService — реализация IViewDefinitionService<MyDataView>.MyValidator — валидатор, реализующий IValidator<MyDataView>.Если требуется настраивать поведение импорта (например, путь к шаблонам файлов), добавьте параметры в
appsettings.json:
"ReoDataImport": {
"TemplatePath": "Templates/",
"MaxRowsPerFile": 10000
}
var prepareService = serviceProvider.GetRequiredService<IPrepareDataImportService<MyDataView>>();
var result = prepareService.Prepare("path/to/file.xlsx");
if (result.IsValid)
{
Console.WriteLine("Данные успешно загружены: " + result.Data.Count + " записей.");
}
else
{
Console.WriteLine("Ошибка: " + string.Join(", ", result.Errors));
}
public class MyValidator : AbstractValidator<MyDataView>
{
public MyValidator()
{
RuleFor(x => x.Name).NotEmpty().WithMessage("Имя не может быть пустым.");
RuleFor(x => x.Email).EmailAddress().WithMessage("Неверный формат email.");
}
}
public class MyBusinessHandleService : IBusinessHandleService<MyDataView, Guid>
{
public Task HandleAsync(MyDataView data, Guid id)
{
// Реализуйте логику сохранения данных в БД или другую систему.
return Task.CompletedTask;
}
}
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.210 | 0 | 6/18/2026 |
| 10.0.209 | 73 | 6/17/2026 |
| 10.0.208 | 69 | 6/17/2026 |
| 10.0.207 | 68 | 6/17/2026 |
| 10.0.206 | 70 | 6/17/2026 |
| 10.0.205 | 82 | 6/16/2026 |
| 10.0.204 | 78 | 6/16/2026 |
| 10.0.203 | 75 | 6/16/2026 |
| 10.0.202 | 80 | 6/16/2026 |
| 10.0.201 | 82 | 6/16/2026 |
| 10.0.200 | 82 | 6/16/2026 |
| 10.0.199 | 74 | 6/16/2026 |
| 10.0.198 | 65 | 6/16/2026 |
| 10.0.197 | 95 | 6/16/2026 |
| 10.0.196 | 82 | 6/16/2026 |
| 10.0.195 | 80 | 6/15/2026 |
| 10.0.194 | 83 | 6/15/2026 |
| 10.0.193 | 88 | 6/15/2026 |
| 10.0.192 | 91 | 6/11/2026 |
| 10.0.191 | 88 | 6/11/2026 |