首页 > 解决方案 > 使用带空格的 EPPlus 工作表名称导出到 Excel

问题描述

我有一个工作程序,可以从我的数据库中提取数据并使用 EPPlus 导出到 Excel。但是,用户特别要求名称与他们想要的完全一致,其中工作表名称中包含空格。目前我的工作表名称为“Reorder_Point”,程序运行良好,但如果我将其更改为“Reorder Point”,则会出错。任何人都知道如何做到这一点?谢谢!

string cnAPStr = System.Configuration.ConfigurationManager.ConnectionStrings["conAP_SQLWeb"].ConnectionString; ;
string queryReorder = "exec uspDataPull_ReorderPointInfo";
SqlConnection cn = new SqlConnection(cnAPStr);

SqlDataAdapter daReorder = new SqlDataAdapter(queryReorder, cn);
DataSet dsReorder = new DataSet();
daReorder.Fill(dsReorder);
dsReorder.Tables[0].TableName = "Reorder_Point";

DumpToExcel(dsReorder);

private void DumpToExcel(DataSet dsReorder)
{
    try
    {
        using (ExcelPackage pck = new ExcelPackage())
        {
            ExcelWorksheet ws1 = pck.Workbook.Worksheets.Add(dsReorder.Tables[0].TableName);
            ws1.Cells["A1"].LoadFromDataTable(dsReorder.Tables[0], true);
            using (ExcelRange rng = ws1.Cells["A1:AG1"])
            {
                rng.Style.Font.Bold = true;
            }

            string fileName = "RP_DataPull.xlsx";
            Response.Clear();
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
            Response.BinaryWrite(pck.GetAsByteArray());
        }
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }
}

标签: c#asp.netexcelepplus

解决方案


您可以为工作表命名,而不是依赖源列名称。

ws1.Name = "Reorder Point";

推荐阅读