Is there a way to get "named" cells using EPPlus?

I have an Excel file that I programmatically fill with EPPlus.

I tried the following:

// provides access to named ranges, does not appear to work with single cells worksheet.Names["namedCell1"].Value = "abc123"; // provides access to cells by address worksheet.Cells["namedCell1"].Value = "abc123"; 

The following works - so I know that I'm at least close.

 worksheet.Cells["A1"].Value = "abc123"; 
+8
epplus epplus-4
source share
1 answer

Actually, this is a bit misleading. Named ranges are stored at the workBOOK level, not the workSHEET level. Therefore, if you do something like this:

 [TestMethod] public void Get_Named_Range_Test() { //http://stackoverflow.com/questions/30494913/is-there-a-way-to-get-named-cells-using-epplus var existingFile = new FileInfo(@"c:\temp\NamedRange.xlsx"); using (var pck = new ExcelPackage(existingFile)) { var wb = pck.Workbook; //Not workSHEET var namedCell1 = wb.Names["namedCell1"]; Console.WriteLine("{{\"before\": {0}}}", namedCell1.Value); namedCell1.Value = "abc123"; Console.WriteLine("{{\"after\": {0}}}", namedCell1.Value); } } 

You get this in the output (using an excel file with dummy data in it):

 {"before": Range1 B2} {"after": abc123} 
+11
source share

All Articles