Следующий фрагмент кода позволяет нам экспортировать заголовок таблицы в Excel; мы можем передать его как массив для генерации нашего динамического заголовка таблицы, а также вызвать метод exporter.ExportHeaderAsByteArray
, чтобы экспортировать наш результат типа byte[]
в указанный путь файла (filepath).
public async Task ExportHeaderAsByteArrayWithItems_Test()
{
IExcelExporter exporter = new ExcelExporter();
var arr = new[] { "Name1", "Name2", "Name3", "Name4", "Name5", "Name6" };
var sheetName = "Test";
var result = await exporter.ExportHeaderAsByteArray(arr, sheetName);
result.ToExcelExportFileInfo(filePath);
}
В этом экспорте exportDatas
является списком типов (List<T>
), но в следующем фрагменте кода мы преобразовали его в объект DataTable и экспортировали. Число строк на каждом листе задается параметром maxRowNumberOnASheet
.
public async Task LargeDataDynamicExport_Test()
{
IExcelExporter exporter = new ExcelExporter();
var dt = new DataTable();
// Создаем столбцы с названиями колонок и типами данных
dt.Columns.Add("Text", typeof(string));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Number", typeof(decimal));
dt = EntityToDataTable(dt, exportDatas);
var result = await exporter.Export(filePath, dt, maxRowNumberOnASheet: 100000);
}
ExpandoObject
— это динамический объект, являющийся частью языка программирования Dynamic Language Runtime (DLR). С помощью ExpandoObject
можно добавлять и удалять члены его экземпляров во время выполнения, а также устанавливать и получать значения этих членов. В нашем случае поддерживается использование ExpandoObject
, поэтому здесь мы используем этот объект для реализации поведения динамического экспорта.
public async Task ExportAsByteArraySupportDynamicType_Test()
{
IExporter exporter = new ExcelExporter();
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);
File.WriteAllBytes(filePath, result);
}
Кроме того, для процесса экспорта ExpandoObject
заголовков таблиц и других данных вы можете использовать фильтры для достижения желаемого результата. Подробнее см. руководство по использованию фильтров.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )