public SpreadsheetService(ISpreadsheetExporter exporter, ISpreadsheetImporter importer, ISpreadsheetValidator validator, ISpreadsheetTemplate template)
 {
     _exporter  = exporter;
     _importer  = importer;
     _validator = validator;
     _template  = template;
 }
 public SpreadsheetProcessor(Spreadsheet spreadsheet, ISpreadsheetValidator validator = null)
 {
     _spreadsheet = spreadsheet;
     _memoryCache = new ExtendedLazy<Cell, object>[spreadsheet.RowCount, spreadsheet.ColumnCount];
     _evaluateCellFunct = EvaluateCell;
     _validator = validator ?? new RecursionDetectionValidator();
 }
 public SpreadsheetProcessor(Spreadsheet spreadsheet, ISpreadsheetValidator validator = null)
 {
     _spreadsheet       = spreadsheet;
     _memoryCache       = new ExtendedLazy <Cell, object> [spreadsheet.RowCount, spreadsheet.ColumnCount];
     _evaluateCellFunct = EvaluateCell;
     _validator         = validator ?? new RecursionDetectionValidator();
 }