Слияние кода завершено, страница обновится автоматически
Экспортировать объект 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();
}