我有一个工作程序从我的数据库中提取数据并使用EPPlus导出到Excel。但是,用户明确要求名称正是他们想要的名称,其中包含工作表名称中的空格。 目前我的工作表名称为“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);
}
}
答案 0 :(得分:0)
您可以为工作表命名,而不是依赖源列名称。
ws1.Name = "Reorder Point";