Document

class document : public orcus::iface::document_dumper

Store spreadsheet document content. It uses the model_context class from the ixion library to store raw cell values required in the computation of formula expressions.

Public Functions

document(const document&) = delete
document &operator=(const document&) = delete
document(const range_size_t &sheet_size)
~document()
virtual void dump(dump_format_t format, const std::string &output) const override

See iface::document_dumper.

virtual void dump_check(std::ostream &os) const override

See iface::document_dumper.

shared_strings &get_shared_strings()
const shared_strings &get_shared_strings() const
styles &get_styles()
const styles &get_styles() const
pivot_collection &get_pivot_collection()
const pivot_collection &get_pivot_collection() const
sheet *append_sheet(std::string_view sheet_name)
sheet *get_sheet(std::string_view sheet_name)
const sheet *get_sheet(std::string_view sheet_name) const
sheet *get_sheet(sheet_t sheet_pos)
const sheet *get_sheet(sheet_t sheet_pos) const
void clear()

Clear document content, to make it empty.

void recalc_formula_cells()

Calculate those formula cells that have been newly inserted and have not yet been calculated.

sheet_t get_sheet_index(std::string_view name) const
std::string_view get_sheet_name(sheet_t sheet_pos) const
void set_sheet_name(sheet_t sheet_pos, std::string name)

Set a new name to a sheet.

Parameters:
  • sheet_pos – 0-based position of a sheet.

  • name – New name to set to a sheet.

range_size_t get_sheet_size() const
void set_sheet_size(const range_size_t &sheet_size)
size_t get_sheet_count() const
void set_origin_date(int year, int month, int day)
date_time_t get_origin_date() const
void set_formula_grammar(formula_grammar_t grammar)
formula_grammar_t get_formula_grammar() const
const ixion::formula_name_resolver *get_formula_name_resolver(formula_ref_context_t cxt) const
ixion::model_context &get_model_context()
const ixion::model_context &get_model_context() const
const document_config &get_config() const
void set_config(const document_config &cfg)
string_pool &get_string_pool()
const string_pool &get_string_pool() const
void insert_table(table_t *p)

Insert a new table object into the document. The document will take ownership of the inserted object after the call. The object will get inserted only when there is no pre-existing table object of the same name. The object not being inserted will be deleted.

Parameters:

p – table object to insert.

const table_t *get_table(std::string_view name) const

Get a structure containing properties of a named table.

Parameters:

name – Name of the table.

Returns:

Pointer to the structure containing the properties of a named table, or nullptr if no such table exists for the given name.

struct document_config

Public Functions

document_config()
document_config(const document_config &r)
~document_config()
document_config &operator=(const document_config &r)

Public Members

int8_t output_precision

Precision to use when converting numeric values to their string representations. A negative value indicates the precision is not being specified.