blob: 65b9db3e8f6e5fcc8fd70145f07b4ce4fcc76a23 [file] [log] [blame]
namespace OfficeOpenXml.FormulaParsing;
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();
}
}