smunna Ответов: 3

Экспорт в excel из datatable


Как экспортировать в excel из datatable и отформатировать файл excel в формате файла excel динамически.

Например : изменение шрифта, изменение цвета из диттерентной ячейки динамически

Что я уже пробовал:

я пробовал использовать string writer, используя \n и \t.

F-ES Sitecore

Google "c# create excel file", и вы найдете множество примеров.

3 Ответов

Рейтинг:
2

idealistic_one

Экспорт Excel был бы более жестким (есть много форматирования, которое идет вместе с ним). С более простой стороны... вы можете создать его в виде CSV (файл значений, разделенных запятыми).

StringBuilder sb = new StringBuilder(); 

string[] columnNames = dt.Columns.Cast<DataColumn>().Select(column => column.ColumnName).ToArray();
sb.AppendLine(string.Join(",", columnNames));

foreach (DataRow row in dt.Rows)
{
    string[] fields = row.ItemArray.Select(field => field.ToString()).ToArray();
    sb.AppendLine(string.Join(",", fields));
}

File.WriteAllText("output.csv", sb.ToString());


Рейтинг:
1

RickZeeland

Вы можете попробовать EPPlus библиотека, смотрите ответы здесь: Экспорт данных в excel на языке C#[^]


Рейтинг:
1

Richard MacCutchan

Вы не можете создать файл Excel с помощью stringwriter. Содержимое файла Excel использует специальную структуру, доступ к которой должен осуществляться либо с помощью OLEDB (см. Работа с MS Excel(xls / xlsx) Использование MDAC и Oledb[^] ) или же Microsoft.Офис.Взаимодействие.Пространство Имен Excel | Microsoft Docs[^] .