using OfficeOpenXml.FormulaParsing.LexicalAnalysis;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OfficeOpenXml.FormulaParsing
{
///
/// This class should be implemented to be able to deliver excel data
/// to the formula parser.
///
public abstract class ExcelDataProvider : IDisposable
{
public interface ICellInfo : IEnumerator, IEnumerable
{
string Address { get; }
int Row { get; }
int Column { get; }
string Formula { get; }
object Value { get; }
double ValueDouble { get; }
double ValueDoubleLogical { get; }
bool IsHiddenRow { get; }
bool IsEmpty { get; }
bool IsMulti { get; }
bool NextCell();
IList Tokens { get; }
int GetNCells();
}
public interface INameInfo
{
ulong Id { get; set; }
string Name { get; set; }
string Formula { get; set; }
IList Tokens { get; }
object Value { get; set; }
}
///
/// Returns the names of all worksheet names
///
///
public abstract ExcelNamedRangeCollection GetWorksheetNames();
///
/// Returns all defined names in a workbook
///
///
public abstract ExcelNamedRangeCollection GetWorkbookNameValues();
///
/// Returns values from the required range.
///
/// An Excel address
/// values from the required cells
public abstract ICellInfo GetRange(string worksheetName, int row, int column, string address);
public abstract INameInfo GetName(string worksheet, string name);
public abstract IEnumerable