8#ifndef INCLUDED_ORCUS_SPREADSHEET_DOCUMENT_HPP
9#define INCLUDED_ORCUS_SPREADSHEET_DOCUMENT_HPP
11#include "orcus/env.hpp"
12#include "orcus/interface.hpp"
13#include "orcus/spreadsheet/types.hpp"
20class formula_name_resolver;
31namespace spreadsheet {
33class import_shared_strings;
35class pivot_collection;
38struct document_config;
61 const styles& get_styles()
const;
66 sheet* append_sheet(std::string_view sheet_name);
67 sheet* get_sheet(std::string_view sheet_name);
68 const sheet* get_sheet(std::string_view sheet_name)
const;
69 sheet* get_sheet(sheet_t sheet_pos);
70 const sheet* get_sheet(sheet_t sheet_pos)
const;
83 virtual void dump(dump_format_t format,
const std::string& output)
const override;
119 sheet_t get_sheet_index(std::string_view name)
const;
120 std::string_view get_sheet_name(sheet_t sheet_pos)
const;
124 size_t get_sheet_count()
const;
126 void set_origin_date(
int year,
int month,
int day);
129 void set_formula_grammar(formula_grammar_t grammar);
130 formula_grammar_t get_formula_grammar()
const;
132 const ixion::formula_name_resolver* get_formula_name_resolver(formula_ref_context_t cxt)
const;
134 ixion::model_context& get_model_context();
135 const ixion::model_context& get_model_context()
const;
152 const table_t* get_table(std::string_view name)
const;
157 void insert_dirty_cell(
const ixion::abs_address_t& pos);
160 std::unique_ptr<document_impl> mp_impl;
Definition interface.hpp:45
Definition document.hpp:47
void dump_flat(const std::string &outdir) const
virtual void dump_check(std::ostream &os) const override
void dump_json(const ::std::string &outdir) const
void dump_html(const ::std::string &outdir) const
void recalc_formula_cells()
void insert_table(table_t *p)
void dump_csv(const std::string &outdir) const
Definition shared_strings.hpp:51
Definition styles.hpp:280
Definition string_pool.hpp:23
Definition auto_filter.hpp:98