如何通过名称设置Excel单元格的值而不是使用EPPlus的坐标?

我可以使用EPPlus设置单元格值:

var template = new FileInfo(Server.MapPath("~/App_Data/my_template.xlsx")); var pck = new ExcelPackage(template); var ws = pck.Workbook.Worksheets.First(); ws.Cells[15, 4].Value = 66; ws.Cells["B1"].Value = 55; 

我不想通过坐标寻址目标单元,而是使用命名单元/variables“利润”。

 ws.Range("profits").Value = 66; 

但是,EPPlus不支持ws.Range(…)。

=>是否可以这样做? 我将如何编写提供所需function的扩展方法?

相关文章/问题:

a)EPPlus的Doc:

http://epplus.codeplex.com

b)如何在Excel中使用命名的单元格/variables:

https://www.computerhope.com/issues/ch000704.htm

在Excel 2013 VBA中引用命名单元格的正确方法是什么? (我知道我搞砸了)

c)用C#创buildExcel文件的库

从C#创buildExcel(.XLS和.XLSX)文件

 var profits = pck.Workbook.Names["profits"]; profits.Value = 66; 

有没有办法使用EPPlus获取“命名”单元格?

也可以设置命名范围的值:

 var ws = pck.Workbook.Worksheets.First(); using (var namedRange = pck.Workbook.Names["MyNamedRange"]) { for (int rowIndex = namedRange.Start.Row; rowIndex <= namedRange.End.Row; rowIndex++) { for (int columnIndex = namedRange.Start.Column; columnIndex <= namedRange.End.Column; columnIndex++) { ws.Cells[rowIndex, columnIndex].Value = 66; } } } 

EPPlus,find并设置命名范围的值