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

OSCHINA-MIRROR/dotnetchina-MiniExcel

 / Детали:

[Reading data from CSV] Настройка CsvConfiguration для установления порядка столбцов не работает

Предстоит сделать
Владелец
Создано  
27.02.2025

Требование

Экспортировать объект DataReader в файл формата CSV. Поскольку порядок столбцов при чтении SQL-запросом не контролируется, требуется установить порядок столбцов вручную.

Проблема

Использую CsvConfiguration для настройки DynamicColumns и index, но это не работает, и результат экспорта сохраняет исходный порядок столбцов читаемого объекта.

Ожидаемый вывод

value id
value1 id1

Реальный вывод

id value
id1 value1

Пример кода

[TestMethod()]
public void GetConfigurationTest()
{
    var filePath = @"путь/до/output.csv";

    var dataTable = new DataTable();
    dataTable.Columns.Add("id");
    dataTable.Columns.Add("value");

    var row = dataTable.NewRow();
    row.ItemArray = new string[] { "id1", "value1" };

    dataTable.Rows.Add(row);

    var config = new CsvConfiguration
    {
        DynamicColumns = new DynamicExcelColumn[]
        {
             // Ожидается, что значение будет первым полем csv
             new DynamicExcelColumn("value") { Index = 0, Name = "value" },

             // Ожидается, что id будет вторым полем csv
             new DynamicExcelColumn("id") { Index = 1, Name = "id" }
        }
    };

    using (var reader = dataTable.CreateDataReader())
    {
        MiniExcel.SaveAs(filePath, reader, excelType: ExcelType.CSV,
            configuration: config);
    }

    Assert.Fail();
}

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/dotnetchina-MiniExcel.git
git@api.gitlife.ru:oschina-mirror/dotnetchina-MiniExcel.git
oschina-mirror
dotnetchina-MiniExcel
dotnetchina-MiniExcel