Как экспортировать данные в Excel с помощью c#
Привет
Я разрабатываю веб-приложение на языке C#.Я хочу экспортировать данные из моего приложения в Excel.Мне это очень нужно,пожалуйста, помогите мне в этом отношении
Благодарный вам
Пожалуйста, обратитесь к следующим темам:
Импорт и экспорт Excel [^]
Прямой экспорт Excel из ASP.Net GridView[^]
Экспорт в Excel из объекта DataTable в C#.Net[^]
Экспорт в Excel из GridView на языке C#[^]
Экспорт больших данных из Gridview и Datareader в файл Excel с помощью языка C#[^]
Экспорт данных в файл Excel[^]
Экспорт отчета в 5 форматах[^]
Учебник По C# Excel[^]
Проверьте аналогичное обсуждение:
Экспорт данных в Excel с помощью C# в одном Colume[^]
Хорошие отзывы. 5!
Спасибо тебе, ви-джей!
У меня возникла проблема, когда файл EXCEL необходимо сохранить, прежде чем я смогу его открыть. Если я открою его перед сохранением, то получу ошибку: http://www.codeproject.com/Questions/814410/Why-is-exporting-GridView-data-to-Excel-exports-th?arn=0
Полезная ссылка. 5!
Спасибо :)
Большое спасибо за вашу помощь, и это хорошо сработало для меня.
В этой статье я объяснил, как экспортировать данные в excel с форматированием.
Экспорт данных в Excel с форматированием на языке C#[^]
#экспорт сетки регионов в Excel
общественная статический недействительным экспорт(строка файл, GridView для управления gridview1, строку "название", Имяотчета строку, строку Условие1, Условие2 строку,FirstColSpan инт,инт SecColSpan,ThirdColSpan инт,инт ForthColSpan)
{
Свойство HttpContext.Тока.Ответ.Четкий();
Свойство HttpContext.Тока.Ответ.Буфер = true;
Свойство HttpContext.Тока.Ответ.AddHeader("content-disposition", "attachment;filename=" + File);
Свойство HttpContext.Тока.Ответ.Кодировка = "";
Свойство HttpContext.Тока.Ответ.Значение contentType = "применение/донгов.в MS-Excel с";
StringWriter sw = новый StringWriter();
HtmlTextWriter hw = новый HtmlTextWriter(sw);
Таблица = новый таблица();
// Начало Заголовка Отчета
TableRow Tr = новый TableRow();
TableCell TC = новый TableCell();
ТС.Текст = "Название";
ТС.Columnspan Значение = FirstColSpan;
TC.Font.Size = 22;
ТК.шрифт.Жирный = истина;
TableCell TC1 = новый TableCell();
ТК1.Текст = Имя Отчета;
ТС1.Columnspan Значение = SecColSpan;
TC1.Font.Size = 22;
TC1.шрифт.Жирный = истина;
ТС1.HorizontalAlign = HorizontalAlign.Правильно;
Тр.Клетки.Добавить(TC);
Тр.Клетки.Добавить(TC1);
TableRow Tr1 = новый TableRow();
TableCell TC2 = новый TableCell();
Ск2.Текст = Условие1;
Ск2.Columnspan Значение = ThirdColSpan;
Ск2.HorizontalAlign = HorizontalAlign.Слева;
TC2.Font.Size = 12;
TC2.шрифт.Жирный = истина;
TableCell TC3 = новый TableCell();
ТС3.Текст = Условие2;
ТС3.Columnspan Значение = ForthColSpan;
TC3.Font.Size = 12;
TC3.шрифт.Жирный = истина;
ТС3.HorizontalAlign = HorizontalAlign.Правильно;
Tr1.Клетки.Добавить(TC2);
Tr1.Клетки.Добавить(TC3);
стол.Строк.Добавить(Тр);
стол.Строк.Добавить(ТР1);
// Конец Заголовка Отчета
// включить настройки линии сетки
стол.Линии Сетки = GridView1.GridLines;
если (управления gridview1.Строку заголовка != нуль)
{
//GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);
PrepareControlForExport(Управления Gridview1.Строку заголовка);
стол.Строк.Добавить(Управления Gridview1.Строку заголовка);
}
for (int i = 0; i < GridView1.Rows.Граф; i++)
{
GridViewRow row = GridView1.Rows[i];
//Изменить цвет обратно на белый
ряд.BackColor = Система.Рисование.Цвет.Белый;
//Применить стиль текста к каждой строке
ряд.Атрибуты.Добавить("класс", "текстовый режим");
//Применить стиль к отдельным ячейкам чередующейся строки
//if (i % 2 != 0)
//{
//for (int y = 0; y <= строка.Ячейки.Count - 1; y++)
//{
// ряд.Ячейки[y].BackColor = система.Рисование.Цвет.FromName(GetCellcolor(row.Cells[y].Text));
//}
// }
}
по каждому элементу (строка GridViewRow в управления gridview1.Строк)
{
//GridViewExportUtil.PrepareControlForExport(строка);
PrepareControlForExport(строка);
table.Rows.Add(строка);
GridViewRow oGridViewRow = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Вставить);
//TableCell oTableCell = новый TableCell();
//oTableCell.Текст = "";
//огридвьюроу.Ячейки.Добавить(oTableCell);
//PrepareControlForExport(oGridViewRow);
// table.Rows.Add(oGridViewRow);
}
// добавить нижнюю строку в таблицу
если (управления gridview1.FooterRow != нуль)
{
//GridViewExportUtil.PrepareControlForExport(gv.FooterRow);
PrepareControlForExport(Управления Gridview1.FooterRow);
стол.Строк.Добавить(Управления Gridview1.FooterRow);
}
стол.RenderControl(hw);
Свойство HttpContext.Тока.Ответ.Писать(ув.Метод toString());
Свойство HttpContext.Тока.Ответ.Конец();
}
private static void PrepareControlForExport(контрольный контроль)
{
for (int i = 0; i < control.Управления.Граф; i++)
{
Управляющий ток = контроль.Регулирование[я];
if (current is LinkButton)
{
контроль.Управления.Удалить(текущий);
контроль.Управления.AddAt(i, new LiteralControl((current as LinkButton).Текст));
}
else if (current is ImageButton)
{
контроль.Управления.Удалить(текущий);
контроль.Управления.AddAt(i, new LiteralControl((текущий как ImageButton).AlternateText));
}
else if (current - гиперссылка)
{
контроль.Управления.Удалить(текущий);
контроль.Управления.AddAt(i, new LiteralControl((текущий как гиперссылка).Текст));
}
остальное, если (ток управления dropdownlist)
{
контроль.Управления.Удалить(текущий);
контроль.Управления.AddAt(i, new LiteralControl((текущий как выпадающий список).SelectedItem.Text));
}
остальное, если (ток флажок)
{
контроль.Управления.Удалить(текущий);
контроль.Управления.AddAt(i, new LiteralControl((current as CheckBox).Проверено ? "True" : "False"));
}
если (ток.HasControls())
{
Util.PrepareControlForExport(текущий);
//GridViewExportUtil.PrepareControlForExport(текущий);
PrepareControlForExport(текущий);
}
}
}
#endregion