blob: a40790e664204e8f1be9b9776b945a2ab0d63a96 [file] [log] [blame]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OfficeOpenXml.FormulaParsing;
namespace OfficeOpenXml.FormulaParsing
{
public class EpplusNameValueProvider : INameValueProvider
{
private 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();
}
}
}