| namespace AppsheetEpplus; | |
| public class EpplusNameValueProvider : INameValueProvider { | |
| private readonly ExcelDataProvider _excelDataProvider; | |
| private ExcelNamedRangeCollection _values; | |
| public EpplusNameValueProvider(ExcelDataProvider excelDataProvider) { | |
| _excelDataProvider = excelDataProvider; | |
| _values = _excelDataProvider.GetWorkbookNameValues(); | |
| } | |
| public virtual bool IsNamedValue(string key, string ws) { | |
| if (ws != null) { | |
| var wsNames = _excelDataProvider.GetWorksheetNames(ws); | |
| if (wsNames != null && wsNames.ContainsKey(key)) { | |
| return true; | |
| } | |
| } | |
| return _values != null && _values.ContainsKey(key); | |
| } | |
| public virtual object GetNamedValue(string key) { | |
| return _values[key]; | |
| } | |
| public virtual void Reload() { | |
| _values = _excelDataProvider.GetWorkbookNameValues(); | |
| } | |
| } |