read exportar create c# excel datatable export epplus

c# - create - Exportar DataTable para sobresalir con EPPlus



excelpackage c# (3)

Para descargar la hoja de Excel en el navegador, use HttpContext.Current.Response lugar de Response contrario, la Response is not available in this context. error. Aquí está mi código

public void ExporttoExcel(DataTable table, string filename) { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=GridData.xlsx"); using (ExcelPackage pack = new ExcelPackage()) { ExcelWorksheet ws = pack.Workbook.Worksheets.Add(filename); ws.Cells["A1"].LoadFromDataTable(table, true); var ms = new System.IO.MemoryStream(); pack.SaveAs(ms); ms.WriteTo(HttpContext.Current.Response.OutputStream); } HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End(); }

Quiero exportar la tabla de datos al archivo Excel con EPPlus que la tabla de datos tiene propiedad con el tipo int, por lo que quiero en el archivo Excel, el mismo formato será. ¿Alguien sabe una forma de exportar una DataTable a Excel con estos?


y si quieres descargar en la respuesta del navegador

Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("Logs.xlsx", System.Text.Encoding.UTF8)); using (ExcelPackage pck = new ExcelPackage()) { ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Logs"); ws.Cells["A1"].LoadFromDataTable(dt, true); var ms = new System.IO.MemoryStream(); pck.SaveAs(ms); ms.WriteTo(Response.OutputStream); }


using (ExcelPackage pck = new ExcelPackage(newFile)) { ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts"); ws.Cells["A1"].LoadFromDataTable(dataTable, true); pck.Save(); }

Eso debería hacer el truco para ti. Si sus campos están definidos como int EPPlus convertirá las columnas correctamente en un número o flotante.