1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/magicodes-Magicodes.IE

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 25 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 03:18 5e09f6d

Magicodes.IE | Китайский язык

Член проекта сообщества .NET Core nuget Статус сборки Статистика Лицензия

Статистика звездоносителей со временем

Azure DevOps тесты (master) Azure DevOps покрытие (ветка) Финансовые спонсоры на Open Collective

Обзор

Библиотека импорта и экспорта общего назначения, поддерживающая импорт и экспорт DTO, шаблонный экспорт, красивый экспорт и динамический экспорт, а также поддерживает Excel, CSV, Word, PDF и HTML.

Общее описание

Azure DevOps

  • Статус сборки: Статус сборки
  • Azure DevOps покрытие (master): Azure DevOps покрытие (ветка)
  • Azure DevOps тесты (master): Azure DevOps тесты (master)

Для получения подробной информации см.: https://dev.azure.com/xinlaiopencode/Magicodes.IE/_build?definitionId=4&_a=summary

NuGet

Устойчивая версия (рекомендовано)

Название NuGet
Magicodes.IE.Core NuGet
Magicodes.IE.Excel NuGet
Magicodes.IE.Excel.NPOI NuGet
Magicodes.IE.Excel.AspNetCore NuGet
Magicodes.IE.Pdf NuGet
Magicodes.IE.Word NuGet
Magicodes.IE.Html NuGet
Magicodes.IE.Csv NuGet
Magicodes.IE.AspNetCore NuGet
Magicodes.IE.EPPlus NuGet
Magicodes.IE.Excel.Abp NuGet
Magicodes.IE.Csv.Abp NuGet
Magicodes.IE.Html.Abp NuGet
Magicodes.IE.Pdf.Abp NuGet
Magicodes.IE.Word.Abp NuGet
Magicodes.IE.Stash NuGet

Примечание

  • Импорт Excel не поддерживает файлы с расширением ".xls", то есть Excel97-2003 не поддерживается.
  • Для использования в Docker обратитесь к разделу "Использование в Docker" в документации.
  • Соответствующие функции были скомпилированы с единичными тестами. Вы можете использовать эти тесты во время процесса использования.

Учебник

  1. Основной учебник по импорту данных студентов
  2. Основной учебник по экспорту Excel
  3. Основной учебник по экспорту чеков в формате Pdf
  4. Использование в Docker
  5. Динамический Экспорт
  6. Учебник по импорту нескольких листов
  7. Импорт и экспорт Excel как изображений
  8. Экспорт шаблона Excel — Экспорт заказа учебников
  9. Импорт объединённых ячеек строки Excel
  10. Экспорт нескольких форматов в NETCore через заголовки запроса
  11. Меры производительности
  12. Импорт объединённых ячеек строки Excel
  13. Экспорт шаблона Excel — динамический экспорт

Смотрите ниже за другими учебниками или единичными тестами

Смотрите ниже за историей обновлений.## Возможности
Необходимо использовать в сочетании с связанными моделями импорта и экспорта DTO, поддерживает импорт и экспорт через DTO и связанные характеристики. Настройте функции для управления связанной логикой и отображения результатов без изменения кода логики;

  • Поддерживает различные фильтры для поддержки сценариев многокультурности, динамического контроля колонок отображения и т.д. Для конкретного использования см. юнит тест:
    • Фильтр заголовка столбца импорта (можно динамически указывать импортированный столбец и отображение отношения отображения значений)
    • Фильтр заголовка столбца экспорта (может динамически контролировать экспортируемые столбцы, поддерживает динамический экспорт (DataTable))
    • Фильтр заголовков столбцов экспорта (может динамически контролировать экспортируемые столбцы, поддерживает динамический экспорт (DataTable))
    • Фильтр результата импорта (может изменять аннотацию файла)
  • Экспорт поддерживает текстовое пользовательское фильтрацию или обработку;
  • Импорт поддерживает автоматическое пропускание пустых строк внутри;
  • Импорт поддерживает автоматическую генерацию шаблонов импорта на основе DTO и автоматическую маркировку обязательных элементов;
  • Импорт поддерживает выбор данных из выпадающего списка, в настоящее время поддерживаются перечисленные типы;
  • Импортированные данные поддерживают обработку начальных и конечных пробелов и пробелов между ними, позволяют установить конкретные столбцы;
  • Импорт поддерживает автоматическую проверку шаблона, автоматическую проверку данных, унифицированное управление исключениями и унифицированное упаковывание ошибок, включая исключения, ошибки шаблона и ошибки строки данных;
  • Поддерживает настройку положения заголовка импорта, по умолчанию равно 1;
  • Поддерживает импорт столбцов вне очереди, нет необходимости соответствовать один к одному в порядке;
  • Поддерживает импорт указанного индекса столбца, автоматическое распознавание по умолчанию;
  • Экспорт Excel поддерживает разделение листов, достаточно установить значение [MaxRowNumberOnASheet] характеристики [ExporterAttribute]. Если это равно 0, разделение не требуется. Подробнее см. юнит тест;
  • Поддерживает импорт в Excel для пометки ошибок;
  • Импорт поддерживает настройку столбца разбиения, если он не установлен, столбец разбиения будет считаться пустым по умолчанию;
  • Поддерживает экспорт HTML, Word, Pdf, поддерживает пользовательский шаблон экспорта;
    • Экспорт HTML
    • Экспорт Word
    • Экспорт Pdf, поддерживает настройки, подробнее см. журнал обновлений
    • Экспорт чека
  • Импорт поддерживает повторную проверку;
  • Поддерживает экспорт одного экземпляра данных шаблона, часто используется для экспорта чеков, удостоверений и других бизнес-процессов
  • Поддерживает динамическое экспортирование столбцов (на основе DataTable), и лист будет автоматически разделён, если количество превышает 100К. (Спасибо преподавателю Чжан Шанью (https://github.com/xin-lai/Magicodes.IE/pull/8))
  • Поддерживает динамическое/ExpandoObject экспортирование столбцов
        [Fact(DisplayName = "DTO экспорт поддерживает динамические типы")]
        public async Task ExportAsByteArraySupportDynamicType_Test()
        {
            IExporter exporter = new ExcelExporter();

            var filePath = GetTestFilePath($"{nameof(ExportAsByteArraySupportDynamicType_Test)}.xlsx");
            DeleteFile(filePath);

            var source = GenFu.GenFu.ListOf<ExportTestDataWithAttrs>();
            string fields = "text,number,name";
            var shapedData = source.ShapeData(fields) as ICollection<ExpandoObject>;

            var result = await exporter.ExportAsByteArray<ExpandoObject>(shapedData);
            result.ShouldNotBeNull();
            result.Length.ShouldBeGreaterThan(0);
            File.WriteAllBytes(filePath, result);
            File.Exists(filePath).ShouldBeTrue();
        }
  • Поддерживает отображение отображаемого значения, поддерживает установку отношений отображения значений через функцию "ValueMappingAttribute". Она используется для генерации ограничений валидации данных для шаблонов импорта и выполнения преобразования данных.
        /// <summary>
        /// Пол
        /// </summary>
        [ImporterHeader(Name = "Пол")]
        [Required(ErrorMessage = "Пол не может быть пустым.")]
        [ValueMapping(text: "Мужской", value: 0)]
        [ValueMapping(text: "Женский", value: 1)]
        public Genders Пол { get; set; }
  • Поддерживает генерацию элементов проверки данных перечисляемого типа и типа Boolean, а также связанные преобразования данных

    • Перечисляемый тип автоматически получает описание, отображаемое имя, имя и значение перечисления по умолчанию для генерации элементов данных

       	/// <summary>
       	/// Статус студента
       	/// </summary>
       	public enum StudentStatus
       	{
       		/// <summary>
       		/// Нормальный
       		/// </summary>
       		[Display(Name = "Нормальный")]
       		Normale = 0,
      
       		/// <summary>
       		/// Учащийся отсутствует
       		/// </summary>
       		[Description("Учащийся отсутствует")]
       		Absent = 1,
      
       		/// <summary>
       		/// Отпуск
       		/// </summary>
       		[Display(Name = "Отпуск")]
       		Suspension = 2,
      
       		/// <summary>
       		/// Самостоятельная работа
       		/// </summary>
       		[Display(Name = "Самостоятельная работа")]
       		SelfEmployment = 3,
      
       		/// <summary>
       		/// Прохождение практики
       		/// </summary>
       		[Display(Name = "Прохождение практики")]
       		Practicum = 4,
      
       		/// <summary>
       		/// Выпускник
       		/// </summary>
       		[Display(Name = "Выпускник")]
       		Graduate = 5,
      
       		/// <summary>
       		/// Вступление в армию
       		/// </summary>
       		[Display(Name = "Вступление в армию")]
       		JoinMilitary = 6,
       	}
       ```		![](./res/перечисление.png "Перечисление к данным отображению")
      
      
      
    • Тип boolean по умолчанию генерирует элементы данных "да" и "нет"

    • Если пользовательская карта значений была установлена, никакие стандартные опции не будут созданы

  • Поддерживает импорт нескольких листов Excel

  • Поддерживает экспорт шаблона Excel, а также поддерживает рендеринг изображений

    Синтаксис рендера следующий:

      {{Company}}  //Рендеринг ячейки
      {{Table>>BookInfos|RowNo}} //Начало рендера таблицы
      {{Remark|>>Table}}//Конец рендера таблицы
      {{Image::ImageUrl?Width=50&Height=120&Alt=404}} //Рендеринг изображения
      {{Image::ImageUrl?w=50&h=120&Alt=404}} //Рендеринг изображения
      {{Image::ImageUrl?Alt=404}} //Рендеринг изображения

    Будут поддерживаться пользовательские конвейеры в будущем.

  • Поддерживает использование шаблона импорта Excel для создания аннотаций

  • Поддерживает импорт и экспорт изображений Excel

    • Импорт изображения
      • Импорт как Base64
      • Импорт во временную директорию
      • Импорт в указанную директорию
    • Экспорт изображения
    • Экспорт пути файла как изображение
    • Экспорт сетевого пути как изображение
  • Поддерживает экспорт нескольких сущностей в несколько листов

  • Поддерживает использование некоторых функций из пространства имен System.ComponentModel.DataAnnotations для управления импортом и экспортом #63

  • Поддерживает использование пользовательского формататора в ASP.NET Core Web API для экспорта содержимого, такого как Excel, Pdf, Csv #64

  • Поддерживает экспорт по столбцу, листу и дополнительным строкам

exporter.Append(list1).SeparateByColumn().Append(list2).ExportAppendData(filePath);

Для получения более подробной информации см. вышеупомянутую инструкцию "Magicodes.IE Fancy Export".

  • Поддерживает настройку ширины экспорта ячеек
[ExporterHeader(Width = 100)]
public DateTime Time3 { get; set; }
  • Экспорт Excel поддерживает HeaderRowIndex. Добавьте атрибут HeaderRowIndex к атрибуту экспорта класса ExcelExporterAttribute, чтобы было удобно указывать начало экспорта с первой строки при экспорте.

  • Генерируемый шаблон импорта Excel поддерживает встроенную проверку данных

Поддержка встроенной проверки данных можно включить через атрибут IsInterValidation, следует отметить, что только MaxLengthAttribute, MinLengthAttribute, StringLengthAttribute и RangeAttribute поддерживают включение операции встроенной проверки данных.

Поддерживается отображение операций ввода подсказок:

  • Импорт Excel поддерживает объединение строковых данных #239 Объединение строкового импорта файла

  • Добавлен пакет для модуля Abp, подробнее см. #318.

Часто задаваемые вопросы

Список вопросов

История обновлений

История обновлений

Контрибьюторы

Разработчики кода

Это проект существует благодаря всем людям, кто вносит свой вклад. [Внести вклад].

Финансовые вкладчики

Поддержите этот проект финансово, чтобы помочь нам поддерживать наше сообщество. [Внести вклад]

Индивидуальные вкладчики

Организации

Поддержите этот проект своей организацией. Ваш логотип будет показан здесь со ссылкой на ваш сайт. [Внести вклад]

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/magicodes-Magicodes.IE.git
git@api.gitlife.ru:oschina-mirror/magicodes-Magicodes.IE.git
oschina-mirror
magicodes-Magicodes.IE
magicodes-Magicodes.IE
master