import_array_formula

Defined in header: <orcus/spreadsheet/import_interface.hpp>

class import_array_formula

Interface for importing the properties of an array formula which occupies a range of cells. Cells that are part of an array formula share the same formula expression but may have different calculation results.

Public Functions

virtual ~import_array_formula()
virtual void set_range(const range_t &range) = 0

Set the range of an array formula.

Parameters:

range – range of an array formula.

virtual void set_formula(formula_grammar_t grammar, std::string_view formula) = 0

Set the formula expression of an array formula.

Parameters:
  • grammar – grammar to use to compile the formula string into tokens.

  • formula – formula expression of an array formula.

virtual void set_result_string(row_t row, col_t col, std::string_view value) = 0

Set a cached string result of a cell within the array formula range.

Parameters:
  • row – 0-based row position of a cell.

  • col – 0-based column position of a cell.

  • value – cached string value to set.

virtual void set_result_value(row_t row, col_t col, double value) = 0

Set a cached numeric result of a cell within the array formula range.

Parameters:
  • row – 0-based row position of a cell.

  • col – 0-based column position of a cell.

  • value – cached numeric value to set.

virtual void set_result_bool(row_t row, col_t col, bool value) = 0

Set a cached boolean result of a cell within the array formula range.

Parameters:
  • row – 0-based row position of a cell.

  • col – 0-based column position of a cell.

  • value – cached boolean value to set.

virtual void set_result_empty(row_t row, col_t col) = 0

Set an empty value as a cached result to a cell within the array formula range.

Parameters:
  • row – 0-based row position of a cell.

  • col – 0-based column position of a cell.

virtual void commit() = 0

Push the properties of an array formula currently stored in the buffer to the sheet store.