首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用EPPlus将DataTable导出到Excel

用EPPlus将DataTable导出到Excel
EN

Stack Overflow用户
提问于 2012-12-02 21:31:50
回答 4查看 108.5K关注 0票数 74

我想用EPPlus将数据表导出到Excel文件中。该数据表有一个int类型的属性,所以我想在Excel文件中使用相同的格式。

有人知道如何将这样的DataTable导出到Excel吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-04 16:32:57

代码语言:javascript
复制
using (ExcelPackage pck = new ExcelPackage(newFile))
{
  ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
  ws.Cells["A1"].LoadFromDataTable(dataTable, true);
  pck.Save();
}

这对你来说应该是个好办法。如果您的字段被定义为整数,EPPlus将正确地将列转换为数字或浮点数。

票数 149
EN

Stack Overflow用户

发布于 2016-01-15 02:14:26

如果你想在浏览器响应中下载

代码语言:javascript
复制
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);                          
}
票数 20
EN

Stack Overflow用户

发布于 2016-05-31 18:55:19

要在浏览器中下载excelsheet表格,请使用HttpContext.Current.Response而不是Response,否则将得到Response is not available in this context. error.Here is my code

代码语言:javascript
复制
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();

}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13669733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档