8 #ifndef INCLUDED_ORCUS_SPREADSHEET_ODSTABLE_HPP
9 #define INCLUDED_ORCUS_SPREADSHEET_ODSTABLE_HPP
17 #include <ixion/address.hpp>
18 #include <ixion/formula_tokens.hpp>
19 #include <ixion/formula_result.hpp>
25 namespace spreadsheet {
43 friend struct detail::sheet_impl;
45 static const row_t max_row_limit;
46 static const col_t max_col_limit;
52 void set_auto(row_t row, col_t col, std::string_view s);
53 void set_string(row_t row, col_t col, string_id_t sindex);
54 void set_value(row_t row, col_t col,
double value);
55 void set_bool(row_t row, col_t col,
bool value);
56 void set_date_time(row_t row, col_t col,
int year,
int month,
int day,
int hour,
int minute,
double second);
57 void set_format(row_t row, col_t col,
size_t index);
58 void set_format(row_t row_start, col_t col_start, row_t row_end, col_t col_end,
size_t index);
59 void set_column_format(col_t col, col_t col_span, std::size_t index);
60 void set_row_format(row_t row, std::size_t index);
62 void set_formula(row_t row, col_t col,
const ixion::formula_tokens_store_ptr_t&
tokens);
63 void set_formula(row_t row, col_t col,
const ixion::formula_tokens_store_ptr_t&
tokens, ixion::formula_result result);
64 void set_grouped_formula(
const range_t& range, ixion::formula_tokens_t
tokens);
65 void set_grouped_formula(
const range_t& range, ixion::formula_tokens_t
tokens, ixion::formula_result result);
67 void set_col_width(col_t col, col_t col_span, col_width_t width);
82 col_width_t
get_col_width(col_t col, col_t* col_start, col_t* col_end)
const;
84 void set_col_hidden(col_t col, col_t col_span,
bool hidden);
85 bool is_col_hidden(col_t col, col_t* col_start, col_t* col_end)
const;
87 void set_row_height(row_t row, row_height_t height);
88 row_height_t get_row_height(row_t row, row_t* row_start, row_t* row_end)
const;
90 void set_row_hidden(row_t row,
bool hidden);
91 bool is_row_hidden(row_t row, row_t* row_start, row_t* row_end)
const;
93 void set_merge_cell_range(
const range_t& range);
95 void fill_down_cells(row_t src_row, col_t src_col, row_t range_size);
107 size_t get_string_identifier(row_t row, col_t col)
const;
124 sheet_t get_index()
const;
126 date_time_t get_date_time(row_t row, col_t col)
const;
128 void dump_flat(std::ostream& os)
const;
129 void dump_check(std::ostream& os, std::string_view sheet_name)
const;
130 void dump_html(std::ostream& os)
const;
131 void dump_json(std::ostream& os)
const;
132 void dump_csv(std::ostream& os)
const;
134 void dump_debug_state(
const std::string& output_dir, std::string_view sheet_name)
const;
142 void finalize_import();
144 std::unique_ptr<detail::sheet_impl> mp_impl;
Definition: document.hpp:54
size_t get_cell_format(row_t row, col_t col) const
col_width_t get_col_width(col_t col, col_t *col_start, col_t *col_end) const
range_t get_merge_cell_range(row_t row, col_t col) const
ixion::abs_range_t get_data_range() const
Definition: tokens.hpp:30
Definition: types.hpp:528
Definition: auto_filter.hpp:46
Definition: types.hpp:600