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

OSCHINA-MIRROR/magicodes-Magicodes.IE

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

Журнал выпуска

2.7.5.0

2024.01.03

2.7.4.4

2023.04.22

  • Устранение проблемы отсутствия заголовков таблиц при получении потока ошибочных файлов из-за пропущенных строк

2.7.4.3

2023.03.16

  • Оптимизация сообщений об ошибках при отсутствии ключей FieldErrors в названии колонок
  • Поддержка экспорта шаблонов Excel с поддержкой формата base64 для изображений

2.7.4.2

2023.01.04

  • Переработка сортировки заголовков

2.7.4.1

2023.01.02

  • Экспорт Excel без использования Task.FromResult, добавление асинхронной операции
  • Изменение внутреннего класса коллекций для более эффективного использования пула памяти, снижение потребления памяти

2.7.4

2022.12.30

  • Исправление конвертации ячеек типа DateTime в Nullable, см. PR #475.

2.7.3

2022.12.27

  • Обновление Haukcode.WkHtmlToPdfDotNet до версии 1.5.86
  • Удаление net461 из targetFrameworks

2.7.2

2022.12.04

  • Исправление ошибки FontSize

2.7.1

2022.12.01

  • По умолчанию добавление SkiaSharp.NativeAssets.Linux.NoDependencies для Magicodes.IE.EPPlus для работы в Linux
  • Поддержка возврата данных ошибок через поток при импорте, спасибо sampsonye (см. PR #466)

2.7.0

2022.11.07

  • Добавление SkiaSharp
  • Удаление SixLabors.Fonts
  • Благодарность linch90 за активное участие (см. PR #462)
  • Некоторые методы сделаны виртуальными

2.7.0-beta

2022.10.27

  • Использование SixLabors.ImageSharp вместо System.Drawing, благодарность linch90 (см. PR #454)

2.6.9

2022.10.26

  • Исправление проблемы экспорта динамических данных во множество листов (см. #449)

2.6.8

2022.10.18

  • Добавление API для экспорта шаблона Excel через поток файла, поддерживающий Task<byte[]> ExportBytesByTemplate(T data, Stream templateStream)

2.6.7

2022.10.12

  • Поддержка изменения индекса столбца в ExporterHeaderFilter для поддержки динамической сортировки, требуется установить свойство ExporterHeaderAttribute.ColumnIndex (не следует менять Index), значение должно находиться в диапазоне от 0 до 10000. Неправильное значение будет автоматически корректироваться до ближайшего допустимого значения.
  • Предоставление фильтра ExporterHeadersFilter для поддержки массового изменения заголовков.
  • Переработка и оптимизация кода сортировки столбцов.

2.6.5-beta1

2022.07.17

  • [Исправление] При экспорте динамического типа данных, таких как datatable/dynamic/proxy, будут преобразованы в строки.
  • Исправление проблемы неверного освобождения объекта Graphics (см. PR #401).
  • Возможность экспорта значений типа enum (см. PR #367).
  • Возможность экспорта nullable enum (см. PR #398).
  • Исправление парсинга данных Excel (см. PR #401).

2.6.4

2022.04.17

  • Оптимизация реализации ColumnIndex при создании шаблона, добавление тестов для ColumnIndex (см. PR #385).
  • Добавление независимого расширения NPOI — Magicodes.IE.Excel.NPOI для предоставления дополнительных возможностей пользователям (сейчас доступен только метод расширения SaveToExcelWithXSSFWorkbook).
  • Исправление ошибки RequiredIfAttribute.
  • Исправление проблемы бесконечного цикла при экспорте JPG изображений в Linux (см. PR #396).
  • Поддержка пустых полей при импорте изображений в Excel.
  • Обновление CsvHelper до последней версии и модификация связанных кодов.

2.6.3

2022.03.06

  • Улучшение механизма регистрации фильтров, теперь фильтры могут быть зарегистрированы для конкретных типов (см. PR #384), если не указано, они будут работать глобально. Пример:
builder.Services.AddTransient<IImportHeaderFilter, ImportHeaderFilterA>();
builder.Services.AddTransient<IImportHeaderFilter, ImportHeaderFilterB>();
builder.Services.AddTransient<IImportHeaderFilter, ImportHeaderFilterC>();

[ExcelImporter(ImportHeaderFilter = typeof(ImportHeaderFilterB))]
public class ImportExcelTemplateDto
{
    [ImporterHeader(Name = "TypeName")]
    public string? Name { get; set; }
}

2.6.2

2022.03.02

  • Добавление обратного вызова при импорте Excel для удобства добавления пользовательской проверки (см. PR #369):
[Fact(DisplayName = "Обратный вызов при импорте")]
public async Task ImportResultCallBack_Test()
{
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "Import", "缴费流水导入模板.xlsx");
    var import = await Importer.Import<ImportPaymentLogDto>(filePath, (importResult) =>
    {
        int rowNum = 2; // номер первой строки данных в Excel
        foreach (var importPaymentLogDto in importResult.Data)
        {
            if (importPaymentLogDto.Amount > 5000)
            {
                var dataRowError = new DataRowErrorInfo();
                dataRowError.RowIndex = rowNum;
                dataRowError.FieldErrors.Add("Amount", "Сумма не может превышать 5000");
                importResult.RowErrors.Add(dataRowError);
            }
            rowNum++;
        }
        return importResult;
    });
    import.ShouldNotBeNull();
    import.HasError.ShouldBeTrue();
    import.RowErrors.ShouldContain(p => p.RowIndex == 3 && p.FieldErrors.ContainsKey("Сумма не может превышать 5000"));
    import.Exception.ShouldBeNull();
    import.Data.Count.ShouldBe(20);
}
  • Улучшение логики получения DisplayName (см. PR #372).
  • Поддержка ColumnIndex при экспорте CSV (см. PR #381).
  • Улучшение логики экспорта PDF для унификации кода на всех платформах.

2.6.1

2022.02.28

  • Исправление проблем с недостаточным очисткой памяти.

2.6.0

2021.11.28- Добавление двух динамических атрибутов проверки (см. PR #319 by Afonsof91):

  • Атрибут DynamicStringLengthAttribute для поддержки динамической настройки проверки длины строковых значений. Пример использования:
public class DynamicStringLengthImportDto
{
    [ImporterHeader(Name = "Название")]
    [Required(ErrorMessage = "Название обязательно")]
    [DynamicStringLength(typeof(DynamicStringLengthImportDtoConsts), nameof(DynamicStringLengthImportDtoConsts.MaxNameLength), ErrorMessage = "Длина названия не должна превышать {1} символов")]
    public string Name { get; set; }
}

public static class DynamicStringLengthImportDtoConsts
{
    public static int MaxNameLength { get; set; } = 3;
}
  • Атрибут RequiredIfAttribute для поддержки динамической активации обязательности поля. Пример использования:
public class RequiredIfAttributeImportDto
{
    [ImporterHeader(Name = "Необходимость имени")]
    [Required(ErrorMessage = "Необходимость имени обязательна")]
    [ValueMapping("Да", true)]
    [ValueMapping("Нет", false)]
    public bool IsNameRequired { get; set; }

    [ImporterHeader(Name = "Имя")]
    [RequiredIf("IsNameRequired", "True", ErrorMessage = "Имя обязательно")]
    [MaxLength(10, ErrorMessage = "Длина имени превышает максимальное значение: 10")]
    public string Name { get; set; }
}
  • Добавление возможности настройки разделителя в CSV (см. PR #319 by Afonsof91).
  • Поддержка типа TimeSpan при импорте Excel (см. пример TimeSpan_Test).
  • Начальная поддержка .NET 6 (см. PR #319 by Afonsof91).

2.5.6.3

2021.10.23

  • Поддержка форматирования дат при экспорте для типа DateTimeOffset (см. PR #349, благодарю YaChengMu).
  • Изменение зависимости Magicodes.IE.EPPlus (см. PR #351).

2.5.6.2

2021.10.13

  • Поддержка пользовательских цветов шрифтов для колонок (см. PR #342, благодарю xiangxiren).
  • Исправление проблем форматирования дат (см. PR #344, благодарю cccccccmd).

2.5.6.1

2021.10.06

  • Исправление #337, проблемы маппинга типа bool? при экспорте.

2.5.6.0

2021.10.05

  • Объединение Magicodes.EPPlus в Magicodes.IE, исправление всех юнит-тестов и некоторых ошибок.

2.5.5.4

2021.09.02

  • Исправление проблемы проверки при импорте null-перечислений #322.

2.5.5.3

2021.08.27

  • Исправление ошибки "Tablename is not unique" при экспорте нескольких листов в режиме Append, см. #299.

2.5.5.2

2021.08.24

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

2.5.5.1

2021.08.07

  • Для упрощения экспорта Excel в ASP.NET Core была проведена дальнейшая его упаковка.
  • Добавление проекта Magicodes.IE.Excel.AspNetCore, который добавляет ActionResult XlsxFileResult для поддержки экспорта генерических коллекций, массивов байтов и потоков.
  • Изменение части названий и пространств имен.

2.5.4.9

23 июля 2021

  • Устранена проблема с чтением данных при импорте объединённых строк в Excel, когда присутствуют пустые объединённые ячейки #305.30 марта 2021
  • Исправление метода OutputBusinessErrorData
  • Поддержка работы с потоками при импорте нескольких листов

Версия 2.5.3.1

12 марта 2021

  • Поддержка использования Dictionary и ExpandoObject для динамического экспорта шаблонов Excel
  • Оптимизация логики экспорта шаблонов

Версия 2.5.3

8 марта 2021

  • Поддержка использования JSON объектов для динамического экспорта шаблонов Excel #I398DI

Версия 2.5.2

5 марта 2021

  • Поддержка импорта объединённых строк данных в Excel #239

Версия 2.5.1.8

23 февраля 2021

  • Ввод строки был некорректным форматом.#241
  • При использовании Stream для импорта xlsx, индекс строки rowErrors был неверным #236

Версия 2.5.1.7

20 февраля 2021

  • Поддержка Base64 экспорта Excel #219
  • Исправление #214

Версия 2.5.1.6

31 января 2021

  • Частичная рефакторизация экспорта шаблонов
  • Усиление парсинга синтаксиса экспорта шаблонов Excel #211
  • Исправление ошибки отсутствия рендера при наличии переменных под таблицей

Версия 2.5.1.5

29 января 2021

  • Удаление вывода логов консоли при экспорте шаблонов

Версия 2.5.1.4

9 января 2021

  • Исправление ошибки несоответствия порядка заголовков и содержимого при экспорте Excel и добавление юнит-тестов #226

Версия 2.5.1.3

2 января 2021

  • Добавлено поддержка размера бумаги для PDF
  • Добавлено поддержка полей для PDF #223

Версия 2.5.1

21 декабря 2020

  • Поддержка экспорта с использованием ColumnIndex для указания порядка экспорта, чтобы решить проблему несоответствия порядка при экспорте в некоторых случаях #179

Версия 2.5.0

3 декабря 2020

  • Поддержка экспорта заголовков с указанием HeaderRowIndex в Excel #164
  • Добавлена поддержка атрибута DescriptionAttribute при экспорте перечислений в Excel #168
  • Поддержка встроенной проверки данных при создании шаблонов импорта в Excel #167
    • Поддержка проверки данных
      • Поддержка атрибутов MaxLengthAttribute, MinLengthAttribute, StringLengthAttribute, RangeAttribute
    • Поддержка подсказок ввода Для исправления ошибки длины списка проверки данных всегда превышает 255 символов (#196) (https://github.com/dotnetcore/Magicodes.IE/issues/196)
  • Ошибки экспорта списков данных в Excel и проблемы форматирования #191 #193
  • При импорте Excel, игнорирование пробелов перед и после значений при сопоставлении Enum
  • Исправление ошибки длины списка проверки данных, которая не может превышать 255 символов #196
  • Ошибки экспорта списков данных в Excel и проблемы форматирования #191 #193
  • Ошибка свойства ColumnIndex при импорте Excel #198
  • Изменение типа TableStyle на enum

Версия 2.5.0-beta6

26 ноября 2020

  • Ошибка свойства ColumnIndex при импорте Excel #198

Версия 2.5.0-beta5

25 ноября 2020

  • Исправление ошибки длины списка проверки данных, которая не может превышать 255 символов #196
  • Ошибки экспорта списков данных в Excel и проблемы форматирования #191 #193

Версия 2.5.0-beta4

20 ноября 2020 Для исправления ошибки длины списка проверки данных, которая всегда превышает 255 символов (#196) (https://github.com/dotnetcore/Magicodes.IE/issues/196)

  • Ошибки экспорта списков данных в Excel и проблемы форматирования #191 #193
  • При импорте Excel, игнорирование пробелов перед и после значений при сопоставлении Enum

Версия 2.5.0-beta3

29 октября 2020

  • Поддержка встроенной проверки данных при создании шаблонов импорта в Excel #167
    • Поддержка проверки данных
      • Поддержка атрибутов MaxLengthAttribute, MinLengthAttribute, StringLengthAttribute, RangeAttribute
    • Поддержка подсказок ввода

Версия 2.5.0-beta2

20 октября 2020

  • Поддержка экспорта заголовков с указанием HeaderRowIndex в Excel #164
  • Добавлена поддержка атрибута DescriptionAttribute при экспорте перечислений в Excel #168

Версия 2.4.0

1 октября 2020

  • Поддержка установки ширины столбцов при экспорте #129
  • Поддержка экспорта Enum с использованием ValueMapping в Excel #106
  • Поддержка экспорта bool с использованием ValueMapping в Excel #16
  • #152 Поддержка внедрения зависимостей для фильтров
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    AppDependencyResolver.Init(app.ApplicationServices);
    // все остальные действия
}
  • #151 Добавлен AutoFitMaxRows для экспорта, если число строк превышает указанное значение, то AutoFit не применяется
  • Добавлен глобальный атрибут IsDisableAllFilter для отключения всех фильтров через атрибут
  • #142 [Исправление] согласование высоты рендера в соответствии с высотой шаблона списка
  • #157 [Исправление] совместимость с более ранними версиями фреймворка
  • Оптимизация алгоритма получения изображений при импорте Excel

Версия 2.4.0-beta4

26 сентября 2020

  • #157 [Исправление] совместимость с более ранними версиями фреймворка

Версия 2.4.0-beta3

24 сентября 2020

  • #142 [Исправление] согласование высоты рендера в соответствии с высотой шаблона списка## Версия 2.4.0-beta2 16 сентября 2020
  • #152 Поддержка внедрения зависимостей для фильтров
   public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
   {
       AppDependencyResolver.Init(app.ApplicationServices);
       // все остальные действия
   }
  • #151 Добавлен AutoFitMaxRows для экспорта, если число строк превышает указанное значение, то AutoFit не применяется
  • Добавлен глобальный атрибут IsDisableAllFilter для отключения всех фильтров через атрибут

Версия 2.4.0-beta1

14 сентября 2020

  • Поддержка установки ширины экспорта ячеек #129
  • Поддержка настройки ValueMapping для Enum при экспорте в Excel #106
  • Поддержка настройки ValueMapping для типа bool при экспорте в Excel #16

Версия 2.3.0

30 августа 2020

Версия 2.3.0-beta8

22 августа 2020

  • Устранение ошибки NULL при импорте с помощью потока файлов и улучшение юнит-тестов #141

Версия 2.3.0-beta7

16 августа 2020

  • Добавлена поддержка ExpandoObject типов в Excel #135

10 августа 2020

  • 【Nuget】обновление версии до 2.3.0-beta6
  • Сохранение пометок ошибочных тестов при многопланшетном импорте, отсутствие проблем с проверкой данных при многопланшетном импорте #108
  • Генерация шаблонов для многопланшетного импорта Excel #133
  • Устранение проблемы высоты изображений в шаблонах Excel #131

4 августа 2020

  • 【Nuget】обновление версии до 2.3.0-beta5
  • Проблема с пакетами runtimes/native
  • Устранение ошибки "COM Interop is not supported on this platform." для кросс-платформенного native #130

14 июля 2020

  • 【Nuget】обновление версии до 2.3.0-beta4

13 июля 2bk20

  • 【Nuget】обновление версии до 2.3.0-beta3
  • 【PDF экспорт】Устранение ошибок при экспорте PDF на Linux #125

6 июля 2020

  • 【Nuget】обновление версии до 2.3.0-beta2
  • 【Экспорт Excel】Поддержка возврата байтового потока ошибочного файла при наличии ошибочной бизнес-логики
  • 【Экспорт Excel】Позволяет передавать различные названия листов для одного и того же модели при использовании метода Append
exporter.Append(list1,"sheet1").SeparateBySheet().Append(list2).ExportAppendData(filePath);
  • 【Nuget】Для некоторых клиентских систем, не поддерживающих SemVer 2.0.0, внедрен механизм совместимости

22 июня 2020

  • 【Nuget】обновление версии до 2.3.0-beta1
  • 【Экспорт Excel】Добавлено поддержание функций экспорта шаблонов Excel
{{Formula::AVERAGE?params=G4:G6}}  
{{Formula::SUM?params=G4:G6&G4}}

16 июня 2020

  • 【Nuget】обновление версии до 2.2.6
  • 【Экспорт HTML】Добавлено поддержание шаблонизатора NETCore2.2

14 июня 2020

  • 【Nuget】обновление версии до 2.2.5
  • 【Экспорт Excel】Добавлены возможности разделения на колонки, листы и строки #74
exporter.Append(list1).SeparateByColumn().Append(list2).ExportAppendData(filePath);  
exporter.Append(list1).SeparateBySheet().Append(list2).ExportAppendData(filePath);  
exporter.Append(list1).SeparateByRow().AppendHeaders().Append(list2).ExportAppendData(filePath);
  • 【Экспорт Excel】Устранение ошибки 'IsAllowRepeat=true' #107
  • 【Экспорт PDF】Добавлены расширенные методы PDF, позволяющие передавать параметры через атрибуты #104
Task<byte[]> ExportListBytesByTemplate<T>(ICollection<T> data, PdfExporterAttribute pdfExporterAttribute, string template);  
Task<byte[]> ExportBytesByTemplate<T>(T data, PdfExporterAttribute pdfExporterAttribute, string template);

7 июня 2020

  • 【Nuget】обновление версии до 2.2.4
  • 【Импорт Excel】Добавлена возможность возвращать только строки с ошибками
  • 【Импорт Excel】Устранение смещения меток ошибок при импорте пустых строк
  • 【Экспорт Excel】Добавлена возможность разделения на колонки при добавлении новых данных

31 мая 2020

  • 【Nuget】обновление версии до 2.2.3
  • 【Импорт Excel】Добавлены расширения методов импорта stream CSV
  • 【Экспорт Word】Устранение ошибок при экспорте байтов word

24 мая 2020

  • 【Nuget】обновление версии до 2.2.2
  • 【Импорт Excel】Добавлены расширения методов импорта stream
  • 【Экспорт Excel】Добавлена возможность центрирования содержимого (центрирование одной колонки, центрирование всего листа)
  • 【Экспорт】Устранение и оптимизация промежуточных кодов

16 мая 2020

  • 【Nuget】обновление версии до 2.2.1
  • 【Экспорт PDF】Обновление шаблонизатора PDF

12 мая 2020

  • 【Nuget】обновление версии до 2.2.0
  • 【Экспорт шаблонов Excel】Поддержка экспорта в виде байтов
  • 【Документация】Magicodes.IE CSV импорт/экспорт
  • 【Экспорт/импорт Excel】Устранение проблем с добавлением меток
  • 【Экспорт】Использование пользовательского форматера для экспорта Excel, PDF, CSV и других контентов в ASP.NET Core Web API #64
  • 【Экспорт/импорт】Поддержка использования частей атрибутов из пространства имен System.ComponentModel.DataAnnotations для контроля над импортом/экспортом #63

16 апреля 2020

  • 【Nuget】обновление версии до 2.2.0-beta9
  • 【Экспорт шаблонов Excel】Устранение ошибки экспорта при наличии одной колонки #73
  • 【Импорт Excel】Поддержка возврата заголовков и индексов #76
  • 【Импорт/экспорт Excel】#63
    • Поддержка использования частей атрибутов из пространства имен System.ComponentModel.DataAnnotations для контроля над импортом/экспортом, например:
      • DisplayAttribute
      • DisplayFormatAttribute
      • DescriptionAttribute
    • Обертка простых и удобных для использования атрибутов, таких как:
      • IEIgnoreAttribute (может применяться к свойствам, членам перечислений, влияет на импорт и экспорт)

2 апреля 2020

  • 【Nuget】обновление версии до 2.2.0-beta8

  • 【Экспорт шаблонов Excel】Поддержка изображений #62, синтаксис рендера следующий:

{{Image::ImageUrl?Width=50&Height=120&Alt=404}}
{{Image::ImageUrl?w=50&h=120&Alt=404}}
{{Image::ImageUrl?Alt=404}}

29 марта 2020

  • 【Nuget】обновление версии до 2.2.0-beta7
  • 【Экспорт шаблонов Excel】Устранение проблем рендера #51#### 27 марта 2020
  • 【Nuget】Обновление версии до 2.2.0-beta6
  • 【Импорт/экспорт Excel】Устранение проблем с зависимостью .NET Core 2.2 #68

26 марта 2020

  • 【Nuget】Обновление версии до 2.2.0-beta4
  • 【Многолистный экспорт Excel】Устранение #66 и добавление юнит-тестов

25 марта 2020

  • 【Nuget】Обновление версии до 2.2.0-beta3
  • 【Импорт Excel】Устранение проблем с датами #68
  • 【Экспорт Excel】Добавлена возможность настройки ExcelOutputType, поддерживающая вывод без форматирования. #54 может быть использована следующим образом.

19 марта 2020

  • 【Nuget】Обновление версии до 2.2.0-beta2
  • 【Импорт Excel】Устранение проблем с датами, поддержка DateTime, DateTimeOffset и nullable типов, по умолчанию поддерживается локализованное время (по умолчанию используется местное время согласно региону)
  • 【Импорт/экспорт Excel】Добавлен юнит-тест ExportAndImportUseOneDto_Test, который проверяет использование одного DTO для экспорта и последующего импорта. Проблема видна в #53

18 марта 2020

  • 【Nuget】Обновление версии до 2.2.0-beta1
  • 【Экспорт Excel】Добавлены следующие API:
        /// <summary>
        ///     Добавляет коллекцию к текущему экспорту
        ///     append the collection to context
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dataItems"></param>
        /// <returns></returns>
        ExcelExporter Append<T>(ICollection<T> dataItems) where T : class;

        /// <summary>
        ///     Экспортировать все добавленные данные
       /summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        Task<ExportFileInfo> ExportAppendData(string fileName);

        /// <summary>
        ///     Экспортировать все добавленные данные
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        Task<byte[]> ExportAppendDataAsByteArray();
  • 【Экспорт Excel】Поддержка экспорта нескольких моделей в несколько листов, благодаря @ccccccmd #pr52, проблема видна в #50. Пример кода см. в юнит-тестах (ExportMutiCollection_Test):
            var exporter = new ExcelExporter();
            var list1 = GenFu.GenFu.ListOf<ExportTestDataWithAttrs>();
            var list2 = GenFu.GenFu.ListOf<ExportTestDataWithSplitSheet>(30);
            var result = exporter.Append(list1).Append(list2).ExportAppendData(filePath);

12 марта 2020

  • 【Nuget】Обновление версии до 2.1.4
  • 【Импорт Excel】Поддержка импорта изображений, см. атрибут ImportImageFieldAttribute
    • Импорт в Base64
    • Импорт в временную директорию
    • Импорт в указанную директорию
  • 【Экспорт Excel】Поддержка экспорта изображений, см. атрибут ExportImageFieldAttribute
    • Экспорт пути файла как изображения
    • Экспорт сетевых путей как изображений

6 марта 2020

25 февраля 2020

  • 【Nuget】Обновление версии до 2.1.2
  • 【Импорт/экспорт】Поддержка CSV
  • 【Документация】Улучшение документации по экспорту PDF

24 февраля 2020

  • 【NuGet】Версия обновлена до 2.1.1-beta
  • 【Импорт】Поддержка импорта помеченных данных из Excel. Для этого достаточно установить свойство ImportDescription атрибута ExcelImporterAttribute, что приведёт к отображению описания импорта в верхней части файла
  • 【Рефакторинг】Добавлены два интерфейса
    • IExcelExporter: наследует IExporter и IExportFileByTemplate, специфичные API для работы с Excel будут добавлены здесь
    • IExcelImporter: наследует IImporter, специфичные API для работы с Excel будут добавлены здесь, такие как "ImportMultipleSheet" и "ImportSameSheets"
  • 【Рефакторинг】Добавлена зависимость внедрения экземпляров
  • 【Конфигурация DevOps】Завершено конфигурирование покрытия тестами для DevOps

14 февраля 2020

  • 【NuGet】Версия обновлена до 2.1.0
  • 【Экспорт】Поддержка экспорта PDF для .NET 4.6.1, подробнее см. юнит-тесты

13 февраля 2020

  • 【NuGet】Версия обновлена до 2.0.2
  • 【Импорт】Устранены ошибки при односимвольном импорте, юнит-тест "OneColumnImporter_Test". Подробности см. (https://github.com/dotnetcore/Magicodes.IE/issues/35).
  • 【Экспорт】Устранены ошибки компиляции шаблонов при экспорте HTML, Pdf и Word в некоторых случаях.
  • 【Импорт】Переопределён контроль пустых строк.

11 февраля 2020

  • 【NuGet】Версия обновлена до 2.0.0
  • 【Экспорт】Устранены проблемы с рендерингом нескольких таблиц и объединением ячеек при экспорте Excel-шаблона, подробнее см. юнит-тест "ExportByTemplate_Test1". Подробности см. (https://github.com/dotnetcore/Magicodes.IE/issues/34).
  • 【Экспорт】Улучшенные юнит-тесты экспорта шаблонов, добавлено проверение рендера всех ячеек для обеспечения полной репрезентации.

5 февраля 2020

  • 【NuGet】Версия обновлена до 2.0.0-beta4
  • 【Импорт】Поддержка фильтра колонок (реализация интерфейса [IImportHeaderFilter]), который может использоваться для совместимости с многими языками, подробнее см. юнит-тест [ImportHeaderFilter_Test]
  • 【Импорт】Поддержка передачи пути к файлу меток, если путь не указан, то файл будет сохранен в текущей директории с суффиксом "_"
  • 【Импорт】Улучшенные юнит-тесты [ImportResultFilter_Test]
  • 【Другое】Изменено пространство имен атрибута ValueMappingAttribute на Magicodes.ExporterAndImporter.Core

4 февраля 2020

  • 【NuGet】Версия обновлена до 2.0.0-beta2
  • 【Импорт】Поддержка фильтра результата импорта — IImportResultFilter, который может использоваться для маркировки ошибок при импорте в многоязычных сценариях, подробнее см. юнит-тест [ImportResultFilter_Test]
  • 【Другое】Изменено пространство имен интерфейса IExporterHeaderFilter на Magicodes.ExporterAndImporter.Core.Filters#### 18 января 2020
  • 【NuGet】версия обновлена до 2.0.0-beta1
  • 【Экспорт】Полностью переработана вся логика экспорта Excel и перезаписаны большинство интерфейсов
  • 【Экспорт】Поддержка фильтра заголовков — IExporterHeaderFilter, подробнее см. юнит-тесты
  • 【Экспорт】Устранены ошибки при преобразовании DataTable в тип Null
  • 【Экспорт】Поддержка разделения листов при экспорте Excel, для этого достаточно указать значение свойства MaxRowNumberOnASheet атрибута ExporterAttribute, если значение равно 0, то разделение не производится. Подробности см. юнит-тесты
  • 【Экспорт】Устранены ошибки при фильтрации результатов экспорта. Теперь экспортированные данные сразу являются таблицей
  • 【Экспорт】Добавлен метод расширения ToExcelExportFileInfo
  • 【Экспорт】Добавлены два метода экспорта DataTable без необходимости определения DTO, поддерживаются фильтры заголовков и разделение листов
        /// <summary>
        /// Экспорт Excel
        /// </summary>
        /// <param name="fileName">Название файла</param>
        /// <param name="dataItems">Данные</param>
        /// <param name="exporterHeaderFilter">Фильтр заголовков</param>
        /// <param name="maxRowNumberOnASheet">Максимальное количество строк на одном листе, если установлено, то создаются несколько листов</param>
        /// <returns>Файл</returns>
        Task<ExportFileInfo> Export(string fileName, DataTable dataItems, IExporterHeaderFilter exporterHeaderFilter = null, int maxRowNumberOnASheet = 1000000);

        /// <summary>
        /// Экспорт Excel в виде массива байтов
        /// </summary>
        /// <param name="dataItems">Данные</param>
        /// <param name="exporterHeaderFilter">Фильтр заголовков</param>
        /// <param name="maxRowNumberOnASheet">Максимальное количество строк на одном листе, если установлено, то создаются несколько листов</param>
        /// <returns>Массив байтов файла</returns>
        Task<byte[]> ExportAsByteArray(DataTable dataItems, IExporterHeaderFilter exporterHeaderFilter = null, int maxRowNumberOnASheet = 1000000);

16 января 2020

  • 【NuGet】версия обновлена до 1.4.25
  • 【Экспорт】Устранены ошибки при отсутствии определенного атрибута экспорта, подробнее см. юнит-тест "ExportTestDataWithoutExcelExporter_Test". Подробности см. (https://github.com/dotnetcore/Magicodes.IE/issues/21).

16 января 2020

  • 【NuGet】версия обновлена до 1.4.24
  • 【Экспорт】Устранены ошибки при экспорте дат в числовой формат, теперь используется формат "yyyy-MM-dd", можно изменить через "[ExporterHeader(DisplayName = 'Дата', Format = 'yyyy-MM-dd HH:mm:ss')]" Подробности см. (https://github.com/dotnetcore/Magicodes.IE/issues/22).

14 января 2020

  • 【NuGet】версия обновлена до 1.4.21
  • 【Экспорт】Устранены ошибки при экспорте Excel-шаблона при наличии NULL значений.

9 января 2020

  • 【NuGet】версия обновлена до 1.4.20
  • 【Экспорт】Оптимизация производительности при экспорте Excel-шаблона. 5000 строк данных экспортируются за секунду, подробнее см. юнит-тест ExportByTemplate_Large_Test.

8 января 2020

  • 【NuGet】версия обновлена до 1.4.18
  • 【Импорт】Поддержка ограничения максимального количества записей при импорте
    • Пример использования: атрибут ImporterAttribute позволяет установить максимальное количество записей(MaxCount), по умолчанию это 50000
    • Созданы соответствующие юнит-тесты

7 января 2020

  • 【NuGet】версия обновлена до 1.4.17
  • 【Рефакторинг】Переработан метод ExportByTemplate интерфейса IExportFileByTemplate, параметр htmlTemplate переименован в template для поддержки экспорта Excel-шаблонов.
  • 【Экспорт】Поддержка экспорта Excel-шаблонов и заполнение связанных юнит-тестов, подробности см. руководство "Экспорт Excel-шаблонов: пример заказа товаров"
    • Поддерживается связывание отдельных ячеек
    • Поддерживается список

17 декабря 2019

10 декабря 2019

6 декабря 2019

  • 【NuGet】версия обновлена до 1.4.14
  • 【Рефакторинг】Большие изменения
    • Удалены ненужные участки кода
    • TemplateFileInfo переименован в ExportFileInfo
    • IExporterByTemplate интерфейс разделен на четыре: IExportListFileByTemplate, IExportListStringByTemplate, IExportStringByTemplate, IExportFileByTemplate, и соответствующие реализации изменены
    • Переработаны некоторые части кода ImportHelper
  • 【Импорт】Устранены проблемы с настройками заголовков при импорте Excel, созданы соответствующие юнит-тесты, см. [Product Information Import]
  • 【Улучшение】Созданы юнит-тесты для ExportAsByteArray для DataTable, ExportWordFileByTemplate_Test

25 ноября 2019

  • 【NuGet】версия обновлена до 1.4.13
  • 【Экспорт】Поддержка настроек при экспорте PDF, подробнее см. юнит-тест [Vertical Layout Receipt Export]. В настоящее время поддерживаются следующие настройки:
    • Orientation: ориентация страницы (горизонтальная, вертикальная)
    • PaperKind: тип бумаги, по умолчанию A4
    • IsEnablePagesCount: включение счетчика страниц
    • Encoding: кодировка, по умолчанию UTF8
    • IsWriteHtml: вывод HTML-шаблона, если включен, то создается файл .html соотвествующего HTML-шаблона для удобства отладки
    • HeaderSettings: настройки верхнего поля
    • FooterSettings: настройки нижнего поля

24 ноября 2019

  • 【NuGet】версия обновлена до 1.4.12
  • 【Экспорт】Поддержка автоматического разделения листов при экспорте более чем 1 миллиона данных (подробнее см. PR: https://github.com/xin-lai/Magicodes.IE/pull/14)

20 ноября 2019

  • 【NuGet】версия обновлена до 1.4.11
  • 【Экспорт】Устранены ошибки при экспорте данных из DataTable, когда порядок столбцов отличается от порядка DTO (подробнее см. PR: https://github.com/xin-lai/Magicodes.IE/pull/13)

16 ноября 2019

  • 【NuGet】версия обновлена до 1.4.10
  • 【Экспорт】Устранены ошибки при экспорте PDF при работе в многопоточной среде#### 13 ноября 2019
  • 【NuGet】версия обновлена до 1.4.5
  • 【Экспорт】Устранены ошибки при экспорте PDF при работе в некоторых условиях, которые могут вызывать ошибки памяти
  • 【Экспорт】Добавлены примеры юнит-тестов для экспорта чеков и добавлены большие объемы данных для тестирования

5 ноября 2019

  • 【NuGet】версия обновлена до 1.4.4
  • 【Импорт】Устранены ошибки при работе с enum типами и добавлены юнит-тесты
  • 【Импорт】Добавлена возможность маппинга значений с помощью атрибута ValueMappingAttribute, который позволяет установить отношения маппинга значений. Это используется для генерации ограничений валидации данных и выполнения преобразования данных.
  • 【Импорт】Улучшены механизмы создания элементов валидации данных для enum и bool типов, чтобы сделать процесс создания шаблонов и преобразования данных более удобным
    • Enum типы автоматически получают значения Description, DisplayName, Name и Value для создания элементов данных
    • Bool типы автоматически создают элементы данных "Yes" и "No"
    • Если пользователь уже установил свои значения маппинга, то дефолтные значения не создаются
  • 【Импорт】Поддержка enum типов, которые могут быть null

30 октября 2019

  • 【NuGet】версия обновлена до 1.4.0
  • 【Экспорт】Поддержка экспорта данных из DataTable с динамическими колонками (поддержка благодаря Zhang Shanyou https://github.com/xin-lai/Magicodes.IE/pull/8)

22 октября 2019

  • 【NuGet】версия обновлена до 1.3.7
  • 【Импорт】Устранены ошибки при игнорировании колонок
  • 【Импорт】Исправлены сообщения об ошибках валидации, одна строка должна содержать одну запись
  • 【Импорт】Устранены ошибки при игнорировании колонок в некоторых случаях
  • 【Импорт】Добавлены юнит-тесты для случаев, где игнорируются колонки

21 октября 2019

  • 【NuGet】версия обновлена до 1.3.4
  • 【Импорт】Поддержка настройки игнорирования колонок для обработки или отображения данных в DTO

18 октября 2019

  • 【Оптимизация】Улучшение производительности преобразования коллекций в DataTable при использовании .NET Standard Library версии 2.1
  • 【Рефакторинг】Многократное замещение IList на ICollection
  • 【Улучшение】Добавление части юнит-тестов

12 октября 2019

  • 【Рефакторинг】Переработка логики экспорта HTML, PDF и других, а также модификация IExporterByTemplate на следующие методы:
    • Task ExportListByTemplate(IList dataItems, string htmlTemplate = null) где T : class;
    • Task ExportByTemplate(T data, string htmlTemplate = null) где T : class;
  • 【Пример】Добавление примера юнит-теста для экспорта чеков

28 сентября 2019

  • 【Экспорт】Изменение стандартных шаблонов экспорта HTML, Word, Pdf
  • 【Импорт】Добавление юнит-тестов для проверки отсечения строки, с учетом промежуточных и конечных пробелов
  • 【Импорт】Отделение Dto тестов импорта и данных ошибок для обеспечения прохождения всех юнит-тестов
  • 【Документация】Обновление документации

26 сентября 2019

  • 【Экспорт】Поддержка экспорта в Word, Pdf, HTML, а также возможность использования пользовательских шаблонов экспорта
  • 【Экспорт】Добавление связанных юнит-тестов экспорта
  • 【Импорт】Поддержка повторной проверки, требует установки свойства IsAllowRepeat в false для ImporterHeader

19 сентября 2019

  • 【Импорт】Поддержка настройки крайней колонки, если не указана, то заканчивается при встрече пустого поля
  • 【Импорт】Поддержка настройки имени Sheet через атрибуты

18 сентября 2019

  • 【Импорт】Рефакторинг модуля импорта
  • 【Импорт】Соответствие сообщений об ошибках импорта
    • Exception : сообщение об ошибке импорта
    • RowErrors : сообщение об ошибке данных
    • TemplateErrors : сообщение об ошибке шаблона, поддерживающее ранжирование ошибок
    • HasError : наличие ошибки (возвращается true только когда возникает исключение и уровень ошибки равен Error)
  • 【Импорт】Автоматическое распознавание обязательных базовых типов, таких как int, double и т.д., без необходимости указания Required
  • 【Импорт】Изменение имени Sheet в Excel-шаблоне
  • 【Импорт】Поддержка настройки положения столбца импорта, по умолчанию равно 1
  • 【Импорт】Поддержка случайного порядка столбцов (не требуется фиксированное расположение столбцов в шаблоне импорта)
  • 【Импорт】Поддержка настройки индекса столбца
  • 【Импорт】Поддержка пометки ошибок в импортированном Excel, допускающая несколько ошибок
  • 【Импорт】Усиленная поддержка базовых типов и типов со значением NULL
  • 【EPPlus】Поскольку EPPlus.Core больше не поддерживается, замена пакета EPPlus.Core на EPPlus,

Опубликовать ( 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