c# - 使用带空格的 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);
}
}
解决方案
您可以为工作表命名,而不是依赖源列名称。
ws1.Name = "Reorder Point";
推荐阅读
- sql - 在 MS ACCESS 中加入两个不同的计数查询
- exception - flink 作业的最佳 heartbeat.timeout 配置
- javascript - 如何管理模型内动画图像的可见性
- javascript - 查找数组的某个元素最后一次存在于另一个数组中的索引
- http - 如何在 Protractor 中处理 zone-evergreen.js HTTP 400 错误请求?
- ios - 仅拖动和缩放“选定”视图
- ruby-on-rails - Rails 6 - Shrine - ImageProcessing - 获取原始上传文件
- eslint - Cornerstone 6.0.0 eslint 更新
- excel - 不包括具有重复条件的行的值总和
- java - 当我只想使用模拟器时,是否需要 Firebase 服务帐户?