Выгружаем DataTable в Excel из веб-страницы
Работая над биллингом одной системы (обработка всяких разных таблиц на веб-странице), возникла необходимость периодического построения сложных отчетов.
С моим опытом программирования заниматься этим достаточно долго (хотя 100%, что я допишу этот функционал), я решил, что лучше нужную таблицу экспортировать в Excel, а потом уже мощнейшими средствами этого табличного процессора строить сводные таблицы.
Собственно, ловите функцию экспорта DataTable в Excel. Все это может происходить, например, по нажатию кнопки на веб-форме.
public void ExportToExcel(DataTable dt) { if (dt.Rows.Count > 0) { string filename = "DownloadMobileNoExcel.xls"; System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); DataGrid dgGrid = new DataGrid(); dgGrid.DataSource = dt; dgGrid.DataBind(); //Get the HTML for the control. dgGrid.RenderControl(hw); //Write the HTML back to the browser. //Response.ContentType = application/vnd.ms-excel; Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename + ""); this.EnableViewState = false; Response.Write(tw.ToString()); Response.End(); } }
Метод брал вот здесь.
- Просмотров: 2508