Spreadsheet Import Filter

Plain Text

class

Inherits from orcus::iface::import_filter

Public Functions

orcus::orcus_csv::orcus_csv(spreadsheet::iface::import_factory *factory)
virtual void orcus::orcus_csv::read_file(const std::string &filepath)

expects a system path to a local file

virtual void orcus::orcus_csv::read_stream(const char *content, size_t len)

expects the whole content of the file

virtual const char *orcus::orcus_csv::get_name() const

Open Document Spreadsheet

class

Inherits from orcus::iface::import_filter

Public Functions

orcus::orcus_ods::orcus_ods(spreadsheet::iface::import_factory *factory)
orcus::orcus_ods::~orcus_ods()
virtual void orcus::orcus_ods::read_file(const std::string &filepath)

expects a system path to a local file

virtual void orcus::orcus_ods::read_stream(const char *content, size_t len)

expects the whole content of the file

virtual const char *orcus::orcus_ods::get_name() const

Public Static Functions

static bool orcus::orcus_ods::detect(const unsigned char *blob, size_t size)
class

Public Static Functions

static void orcus::import_ods::read_styles(const char *p, size_t n, spreadsheet::iface::import_styles *data)

Microsoft Excel 2003 XML

class

Inherits from orcus::iface::import_filter

Public Functions

orcus::orcus_xls_xml::orcus_xls_xml(spreadsheet::iface::import_factory *factory)
orcus::orcus_xls_xml::~orcus_xls_xml()
virtual void orcus::orcus_xls_xml::read_file(const std::string &filepath)

expects a system path to a local file

virtual void orcus::orcus_xls_xml::read_stream(const char *content, size_t len)

expects the whole content of the file

virtual const char *orcus::orcus_xls_xml::get_name() const

Public Static Functions

static bool orcus::orcus_xls_xml::detect(const unsigned char *blob, size_t size)

Microsoft Excel 2007 XML

class

Inherits from orcus::iface::import_filter

Public Functions

orcus::orcus_xlsx::orcus_xlsx(spreadsheet::iface::import_factory *factory)
orcus::orcus_xlsx::~orcus_xlsx()
virtual void orcus::orcus_xlsx::read_file(const std::string &filepath)

expects a system path to a local file

virtual void orcus::orcus_xlsx::read_stream(const char *content, size_t len)

expects the whole content of the file

virtual const char *orcus::orcus_xlsx::get_name() const

Public Static Functions

static bool orcus::orcus_xlsx::detect(const unsigned char *blob, size_t size)
class

Public Static Functions

static void orcus::import_xlsx::read_table(const char *p, size_t n, spreadsheet::iface::import_table *data)

Gnumeric XML

class

Inherits from orcus::iface::import_filter

Public Functions

orcus::orcus_gnumeric::orcus_gnumeric(spreadsheet::iface::import_factory *factory)
orcus::orcus_gnumeric::~orcus_gnumeric()
virtual void orcus::orcus_gnumeric::read_file(const std::string &filepath)

expects a system path to a local file

virtual void orcus::orcus_gnumeric::read_stream(const char *content, size_t len)

expects the whole content of the file

virtual const char *orcus::orcus_gnumeric::get_name() const

Public Static Functions

static bool orcus::orcus_gnumeric::detect(const unsigned char *blob, size_t size)

Generic XML

class

Public Functions

orcus::orcus_xml::orcus_xml(xmlns_repository &ns_repo, spreadsheet::iface::import_factory *im_fact, spreadsheet::iface::export_factory *ex_fact)
orcus::orcus_xml::~orcus_xml()
void orcus::orcus_xml::set_namespace_alias(const pstring &alias, const pstring &uri)
void orcus::orcus_xml::set_cell_link(const pstring &xpath, const pstring &sheet, spreadsheet::row_t row, spreadsheet::col_t col)
void orcus::orcus_xml::start_range(const pstring &sheet, spreadsheet::row_t row, spreadsheet::col_t col)
void orcus::orcus_xml::append_field_link(const pstring &xpath)
void orcus::orcus_xml::commit_range()
void orcus::orcus_xml::append_sheet(const pstring &name)
void orcus::orcus_xml::read_file(const char *filepath)
void orcus::orcus_xml::write_file(const char *filepath)

Global Interface

class

Subclassed by orcus::orcus_csv, orcus::orcus_gnumeric, orcus::orcus_ods, orcus::orcus_xls_xml, orcus::orcus_xlsx

Public Functions

orcus::iface::import_filter::import_filter()
virtual orcus::iface::import_filter::~import_filter()
virtual void orcus::iface::import_filter::read_file(const std::string &filepath)
= 0

expects a system path to a local file

virtual void orcus::iface::import_filter::read_stream(const char *content, size_t len)
= 0

expects the whole content of the file

virtual const char *orcus::iface::import_filter::get_name() const
= 0
void orcus::iface::import_filter::set_config(const orcus::config &v)
const orcus::config &orcus::iface::import_filter::get_config() const
class

Subclassed by orcus::spreadsheet::document

Public Functions

virtual orcus::iface::document_dumper::~document_dumper()
virtual void orcus::iface::document_dumper::dump_flat(const std::string &outdir) const
= 0
virtual void orcus::iface::document_dumper::dump_html(const std::string &outdir) const
= 0
virtual void orcus::iface::document_dumper::dump_json(const std::string &outdir) const
= 0
virtual void orcus::iface::document_dumper::dump_check(std::ostream &os) const
= 0

Spreadsheet Interface

class

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_auto_filter::~import_auto_filter()
= 0
virtual void orcus::spreadsheet::iface::import_auto_filter::set_range(const char *p_ref, size_t n_ref)
= 0

Specify the range where the auto filter is applied. The range is given in a 2-dimensional A1-style reference.

Parameters
  • p_ref: pointer to the first character of range string.
  • n_ref: length of range string.

virtual void orcus::spreadsheet::iface::import_auto_filter::set_column(orcus::spreadsheet::col_t col)
= 0

Specify the column position of a filter. The position is relative to the first column in the auto filter range.

Parameters
  • col: 0-based column position of a filter relative to the first column.

virtual void orcus::spreadsheet::iface::import_auto_filter::append_column_match_value(const char *p, size_t n)
= 0

Add a match value to the current column filter.

Parameters
  • p: pointer to the first character of match value.
  • n: length of match value.

virtual void orcus::spreadsheet::iface::import_auto_filter::commit_column()
= 0

Commit current column filter to the current auto filter.

virtual void orcus::spreadsheet::iface::import_auto_filter::commit()
= 0

Commit current auto filter to the model.

class

This is an optional interface to import conditional formatting.

A conditional format consists of:

  • a range
  • several entries

Each entry consists of:

  • a type
  • a few properties depending on the type (optional)
  • zero or more conditions depending on the type

Each condition consists of:

  • a formula/value/string
  • a color (optional)

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_conditional_format::~import_conditional_format()
= 0
virtual void orcus::spreadsheet::iface::import_conditional_format::set_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0

Sets the color of the current condition. only valid for type == databar or type == colorscale.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_formula(const char *p, size_t n)
= 0

Sets the formula, value or string of the current condition.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_condition_type(orcus::spreadsheet::condition_type_t type)
= 0

Sets the type for the formula, value or string of the current condition. Only valid for type = iconset, databar or colorscale.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_date(orcus::spreadsheet::condition_date_t date)
= 0

Only valid for type = date.

virtual void orcus::spreadsheet::iface::import_conditional_format::commit_condition()
= 0

commits the current condition to the current entry.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_icon_name(const char *p, size_t n)
= 0

Name of the icons to use in the current entry. only valid for type = iconset

virtual void orcus::spreadsheet::iface::import_conditional_format::set_databar_gradient(bool gradient)
= 0

Use a gradient for the current entry. only valid for type == databar

virtual void orcus::spreadsheet::iface::import_conditional_format::set_databar_axis(orcus::spreadsheet::databar_axis_t axis)
= 0

Position of the 0 axis in the current entry. only valid for type == databar.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_databar_color_positive(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0

Databar color for positive values. only valid for type == databar.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_databar_color_negative(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0

Databar color for negative values. only valid for type == databar.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_min_databar_length(double length)
= 0

Sets the minimum length for a databar. only valid for type == databar.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_max_databar_length(double length)
= 0

Sets the maximum length for a databar. only valid for type == databar.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_show_value(bool show)
= 0

Don’t show the value in the cell. only valid for type = databar, iconset, colorscale.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_iconset_reverse(bool reverse)
= 0

Use the icons in reverse order. only valid for type == iconset.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_xf_id(size_t xf)
= 0

TODO: In OOXML the style is stored as dxf and in ODF as named style.

virtual void orcus::spreadsheet::iface::import_conditional_format::set_operator(orcus::spreadsheet::condition_operator_t condition_type)
= 0

Sets the current operation used for the current entry. only valid for type == condition

virtual void orcus::spreadsheet::iface::import_conditional_format::set_type(orcus::spreadsheet::conditional_format_t type)
= 0
virtual void orcus::spreadsheet::iface::import_conditional_format::commit_entry()
= 0
virtual void orcus::spreadsheet::iface::import_conditional_format::set_range(const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_conditional_format::set_range(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start, orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end)
= 0
virtual void orcus::spreadsheet::iface::import_conditional_format::commit_format()
= 0
class

Interface for importing data tables.

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_data_table::~import_data_table()
= 0
virtual void orcus::spreadsheet::iface::import_data_table::set_type(orcus::spreadsheet::data_table_type_t type)
= 0
virtual void orcus::spreadsheet::iface::import_data_table::set_range(const char *p_range, size_t n_range)
= 0
virtual void orcus::spreadsheet::iface::import_data_table::set_first_reference(const char *p_ref, size_t n_ref, bool deleted)
= 0
virtual void orcus::spreadsheet::iface::import_data_table::set_second_reference(const char *p_ref, size_t n_ref, bool deleted)
= 0
virtual void orcus::spreadsheet::iface::import_data_table::commit()
= 0
class

This interface provides the filters a means to instantiate concrete classes that implement the above interfaces. The client code never has to manually delete objects returned by its methods; the implementor of this interface must manage the life cycles of objects it returns.

The implementor of this interface normally wraps the document instance inside it and have the document instance manage the life cycles of various objects it creates.

Subclassed by orcus::spreadsheet::import_factory

Public Functions

virtual orcus::spreadsheet::iface::import_factory::~import_factory()
= 0
virtual import_global_settings *orcus::spreadsheet::iface::import_factory::get_global_settings()
virtual import_shared_strings *orcus::spreadsheet::iface::import_factory::get_shared_strings()

Return
pointer to the shared strings instance. It may return NULL if the client app doesn’t support shared strings.

virtual import_styles *orcus::spreadsheet::iface::import_factory::get_styles()

Return
pointer to the styles instance. It may return NULL if the client app doesn’t support styles.

virtual import_sheet *orcus::spreadsheet::iface::import_factory::append_sheet(const char *sheet_name, size_t sheet_name_length)
= 0

Return
pointer to the sheet instance. It may return NULL if the client app fails to append new sheet.

virtual import_sheet *orcus::spreadsheet::iface::import_factory::get_sheet(const char *sheet_name, size_t sheet_name_length)
= 0

Return
pointer to the sheet instance whose name matches the name passed to this method. It returns NULL if no sheet instance exists by the specified name.

virtual import_sheet *orcus::spreadsheet::iface::import_factory::get_sheet(orcus::spreadsheet::sheet_t sheet_index)
= 0

Retrieve sheet instance by specified numerical sheet index.

Return
pointer to the sheet instance, or NULL if no sheet instance exists at specified sheet index position.
Parameters
  • sheet_index: sheet index

virtual void orcus::spreadsheet::iface::import_factory::finalize()
= 0

This method is called at the end of import, to give the implementor a chance to perform post-processing if necessary.

class

Subclassed by orcus::spreadsheet::import_global_settings

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_global_settings::~import_global_settings()
= 0
virtual void orcus::spreadsheet::iface::import_global_settings::set_origin_date(int year, int month, int day)
= 0

Set the date that is to be represented by a value of 0. All date values will be internally represented relative to this date afterward.

Parameters
  • year: 1-based value representing year
  • month: 1-based value representing month, varying from 1 through 12.
  • day: 1-based value representing day, varying from 1 through 31.

virtual void orcus::spreadsheet::iface::import_global_settings::set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar)
= 0

Set formula grammar to be used globally when parsing formulas if the grammar is not specified. This grammar will also be used when parsing range strings associated with shared formula ranges, array formula ranges, autofilter ranges etc.

Parameters
  • grammar: default formula grammar

virtual orcus::spreadsheet::formula_grammar_t orcus::spreadsheet::iface::import_global_settings::get_default_formula_grammar() const
= 0

Get current default formula grammar.

Return
current default formula grammar.

class

Interface class designed to be derived by the implementor.

Subclassed by orcus::spreadsheet::import_shared_strings

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_shared_strings::~import_shared_strings()
= 0
virtual size_t orcus::spreadsheet::iface::import_shared_strings::append(const char *s, size_t n)
= 0

Append new string to the string list. Order of insertion is important since that determines the numerical ID values of inserted strings. Note that this method assumes that the caller knows the string being appended is not yet in the pool.

Return
ID of the string just inserted.
Parameters
  • s: pointer to the first character of the string array. The string array doesn’t necessary have to be null-terminated.
  • n: length of the string.

virtual size_t orcus::spreadsheet::iface::import_shared_strings::add(const char *s, size_t n)
= 0

Similar to the append method, it adds new string to the string pool; however, this method checks if the string being added is already in the pool before each insertion, to avoid duplicated strings.

Return
ID of the string just inserted.
Parameters
  • s: pointer to the first character of the string array. The string array doesn’t necessary have to be null-terminated.
  • n: length of the string.

virtual void orcus::spreadsheet::iface::import_shared_strings::set_segment_font(size_t font_index)
= 0
virtual void orcus::spreadsheet::iface::import_shared_strings::set_segment_bold(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_shared_strings::set_segment_italic(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_shared_strings::set_segment_font_name(const char *s, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_shared_strings::set_segment_font_size(double point)
= 0
virtual void orcus::spreadsheet::iface::import_shared_strings::set_segment_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0
virtual void orcus::spreadsheet::iface::import_shared_strings::append_segment(const char *s, size_t n)
= 0
virtual size_t orcus::spreadsheet::iface::import_shared_strings::commit_segments()
= 0
class

Interface for sheet.

Subclassed by orcus::spreadsheet::sheet

Public Functions

virtual orcus::spreadsheet::iface::import_sheet::~import_sheet()
= 0
virtual import_sheet_properties *orcus::spreadsheet::iface::import_sheet::get_sheet_properties()
virtual import_data_table *orcus::spreadsheet::iface::import_sheet::get_data_table()

Get an interface for importing data tables. Note that the implementer may decide not to support this feature in which case this method returns NULL. The implementer is responsible for managing the life cycle of the returned interface object.

The implementor should also initialize the internal state of the temporary data table object when this method is called.

Return
pointer to the data table interface object.

virtual import_auto_filter *orcus::spreadsheet::iface::import_sheet::get_auto_filter()

Get an interface for importing auto filter ranges.

The implementor should also initialize the internal state of the temporary auto filter object when this method is called.

Return
pointer to the auto filter interface object.

virtual import_table *orcus::spreadsheet::iface::import_sheet::get_table()

Get an interface for importing tables. The implementer is responsible for managing the life cycle of the returned interface object.

The implementor should also initialize the internal state of the temporary table object when this method is called.

Return
pointer to the table interface object, or NULL if the implementer doesn’t support importing of tables.

virtual import_conditional_format *orcus::spreadsheet::iface::import_sheet::get_conditional_format()

get an interface for importing conditional formats. The implementer is responsible for managing the life cycle of the returned interface object.

Return
pointer to the conditional format interface object, or NULL if the implementer doesn’t support importing conditional formats.

virtual void orcus::spreadsheet::iface::import_sheet::set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char *p, size_t n)
= 0

Set raw string value to a cell and have the implementation auto-recognize its data type.

Parameters
  • row: row ID
  • col: column ID
  • p: pointer to the first character of the raw string value.
  • n: size of the raw string value.

virtual void orcus::spreadsheet::iface::import_sheet::set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex)
= 0

Set string value to a cell.

Parameters
  • row: row ID
  • col: column ID
  • sindex: 0-based string index in the shared string table.

virtual void orcus::spreadsheet::iface::import_sheet::set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value)
= 0

Set numerical value to a cell.

Parameters
  • row: row ID
  • col: column ID
  • value: value being assigned to the cell.

virtual void orcus::spreadsheet::iface::import_sheet::set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value)
= 0

Set a boolean value to a cell.

Parameters
  • row: row ID
  • col: col ID
  • value: boolean value being assigned to the cell

virtual void orcus::spreadsheet::iface::import_sheet::set_date_time(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, int year, int month, int day, int hour, int minute, double second)
= 0

Set date and time value to a cell.

Parameters
  • row: row ID
  • col: column ID

virtual void orcus::spreadsheet::iface::import_sheet::set_format(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t xf_index)
= 0

Set cell format to specified cell. The cell format is referred to by the xf (cell format) index in the styles table.

Parameters
  • row: row ID
  • col: column ID
  • index: 0-based xf (cell format) index

virtual void orcus::spreadsheet::iface::import_sheet::set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start, orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end, size_t xf_index)
= 0

Set cell format to specified cell range. The cell format is referred to by the xf (cell format) index in the styles table.

Parameters
  • row_start: start row ID
  • col_start: start column ID
  • row_end: end row ID
  • col_end: end column ID
  • index: 0-based xf (cell format) index

virtual void orcus::spreadsheet::iface::import_sheet::set_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char *p, size_t n)
= 0

Set normal, non-shared formula expression to specified cell.

Parameters
  • row: row ID
  • col: column ID
  • grammar: grammar used in the formula expression
  • p: pointer to the first character of the raw formula expression string.
  • n: size of the raw formula expression string.

virtual void orcus::spreadsheet::iface::import_sheet::set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex, const char *p_formula, size_t n_formula, const char *p_range, size_t n_range)
= 0

Set shared formula expression to specified cell. This call also registers the formula expression to a common formula expression pool to allow it to be looked up by the specified index later.

Parameters
  • row: row ID
  • col: column ID
  • grammar: grammar used in the formula expression
  • sindex: shared formula index (0-based)
  • p_formula: pointer to the first character of the raw formula expression string.
  • n_formula: size of the raw formula expression string.
  • p_range: pointer to the first character of the range string
  • n_range: size of the raw range string

virtual void orcus::spreadsheet::iface::import_sheet::set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex, const char *p_formula, size_t n_formula)
= 0

Set shared formula expression to specified cell. This call also registers the formula expression to a common formula expression pool to allow it to be looked up by the specified index later.

Parameters
  • row: row ID
  • col: column ID
  • grammar: grammar used in the formula expression
  • sindex: shared formula index (0-based)
  • p_formula: pointer to the first character of the raw formula expression string.
  • n_formula: size of the raw formula expression string.

virtual void orcus::spreadsheet::iface::import_sheet::set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex)
= 0

Set shared formula to specified cell by shared formula index. The formula expression itself associated with the index must be defined.

Parameters
  • row: row ID
  • col: column ID
  • grammar: grammar used in the formula expression
  • sindex: shared formula index (0-based)
  • p: pointer to the first character of the raw formula expression string.
  • n: size of the raw formula expression string.

virtual void orcus::spreadsheet::iface::import_sheet::set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value)
= 0
virtual void orcus::spreadsheet::iface::import_sheet::set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_sheet::set_array_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char *p, size_t n, orcus::spreadsheet::row_t array_rows, orcus::spreadsheet::col_t array_cols)
= 0

Set a array formula to the specified cells. The formula covers an area specified by array_rows and array_cols beginning from the base cell.

Parameters
  • row: row ID
  • col: column ID
  • grammar: grammar used in the formula expression
  • p: pointer to the first character of the raw formula expression string.
  • n: size of the raw formula expression string
  • array_rows: number of rows the array formula covers
  • array_cols: number of columns the array formula covers

virtual void orcus::spreadsheet::iface::import_sheet::set_array_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char *p, size_t n, const char *p_range, size_t n_range)
= 0

Set a array formula to the specified cells. The formula covers an area specified by the range string.

Parameters
  • row: row ID
  • col: column ID
  • grammar: grammar used in the formula expression
  • p: pointer to the first character of the raw formula expression string.
  • n: size of the raw formula expression string
  • p_range: pointer to the first character of the range string
  • n_range: isze of the range string

class

Subclassed by orcus::spreadsheet::sheet_properties

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_sheet_properties::~import_sheet_properties()
= 0
virtual void orcus::spreadsheet::iface::import_sheet_properties::set_column_width(orcus::spreadsheet::col_t col, double width, orcus::length_unit_t unit)
= 0
virtual void orcus::spreadsheet::iface::import_sheet_properties::set_column_hidden(orcus::spreadsheet::col_t col, bool hidden)
= 0
virtual void orcus::spreadsheet::iface::import_sheet_properties::set_row_height(orcus::spreadsheet::row_t row, double height, orcus::length_unit_t unit)
= 0
virtual void orcus::spreadsheet::iface::import_sheet_properties::set_row_hidden(orcus::spreadsheet::row_t row, bool hidden)
= 0
virtual void orcus::spreadsheet::iface::import_sheet_properties::set_merge_cell_range(const char *p_range, size_t n_range)
= 0

Specify merged cell range. The range is given in a 2-dimensional A1-style reference.

Parameters
  • p_range: pointer to the first character of reference string.
  • n_range: length of reference string.

class

Interface for styles. Note that because the default style must have an index of 0 in each style category, the caller must set the default styles first before importing and setting real styles. ID’s of styles are assigned sequentially starting with 0 and upward in each style category.

In contrast to xf formatting, dxf (differential formats) formatting only stores the format information that is explicitly set. It does not store formatting from the default style. Applying a dxf format to an object only applies those explicitly set formats from the dxf entry, while all the other formats are retained.

Subclassed by orcus::spreadsheet::import_styles

Public Functions

virtual ORCUS_DLLPUBLIC orcus::spreadsheet::iface::import_styles::~import_styles()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_bold(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_italic(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_name(const char *s, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_size(double point)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_underline(orcus::spreadsheet::underline_t e)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_underline_width(underline_width_t e)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_underline_mode(underline_mode_t e)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_underline_type(underline_type_t e)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_strikethrough_style(orcus::spreadsheet::strikethrough_style_t s)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_strikethrough_type(orcus::spreadsheet::strikethrough_type_t s)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_strikethrough_width(orcus::spreadsheet::strikethrough_width_t s)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_strikethrough_text(orcus::spreadsheet::strikethrough_text_t s)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_font()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_fill_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_fill_pattern_type(const char *s, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_fill()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_border_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_border_style(orcus::spreadsheet::border_direction_t dir, const char *s, size_t n)
= 0

virtual void orcus::spreadsheet::iface::import_styles::set_border_style(orcus::spreadsheet::border_direction_t dir, border_style_t style)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_border_color(orcus::spreadsheet::border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_border_width(orcus::spreadsheet::border_direction_t dir, double width, orcus::length_unit_t unit)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_border()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_hidden(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_locked(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_print_content(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_formula_hidden(bool b)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_cell_protection()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_number_format_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_number_format_identifier(size_t id)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_number_format_code(const char *s, size_t n)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_number_format()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_xf_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_style_xf_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_dxf_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_font(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_fill(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_border(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_protection(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_number_format(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_style_xf(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_apply_alignment(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_xf_vertical_alignment(orcus::spreadsheet::ver_alignment_t align)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_cell_xf()
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_cell_style_xf()
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_dxf()
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_style_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_style_name(const char *s, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_style_xf(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_style_builtin(size_t index)
= 0
virtual void orcus::spreadsheet::iface::import_styles::set_cell_style_parent_name(const char *s, size_t n)
= 0
virtual size_t orcus::spreadsheet::iface::import_styles::commit_cell_style()
= 0
class

Interface for table. A table is a range within a sheet that consists of one or more data columns with a header row that contains their labels.

Public Functions

virtual orcus::spreadsheet::iface::import_table::~import_table()
= 0
virtual import_auto_filter *orcus::spreadsheet::iface::import_table::get_auto_filter()
virtual void orcus::spreadsheet::iface::import_table::set_identifier(size_t id)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_range(const char *p_ref, size_t n_ref)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_totals_row_count(size_t row_count)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_name(const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_display_name(const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_column_count(size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_column_identifier(size_t id)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_column_name(const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_column_totals_row_label(const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_column_totals_row_function(orcus::spreadsheet::totals_row_function_t func)
= 0
virtual void orcus::spreadsheet::iface::import_table::commit_column()
= 0
virtual void orcus::spreadsheet::iface::import_table::set_style_name(const char *p, size_t n)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_style_show_first_column(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_style_show_last_column(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_style_show_row_stripes(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_table::set_style_show_column_stripes(bool b)
= 0
virtual void orcus::spreadsheet::iface::import_table::commit()
= 0
class

Subclassed by orcus::spreadsheet::export_factory

Public Functions

virtual orcus::spreadsheet::iface::export_factory::~export_factory()
= 0
virtual const export_sheet *orcus::spreadsheet::iface::export_factory::get_sheet(const char *sheet_name, size_t sheet_name_length) const
= 0
class

Subclassed by orcus::spreadsheet::sheet

Public Functions

virtual orcus::spreadsheet::iface::export_sheet::~export_sheet()
= 0
virtual void orcus::spreadsheet::iface::export_sheet::write_string(std::ostream &os, orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) const
= 0

Spreadsheet Type

typedef
typedef
typedef
typedef
typedef
typedef
enum type orcus::spreadsheet::border_direction_t

Values:

= 0
enum type orcus::spreadsheet::border_style_t

Values:

= 0
enum type orcus::spreadsheet::formula_grammar_t

Values:

= 0
enum type orcus::spreadsheet::formula_t

Values:

enum type orcus::spreadsheet::underline_t

Values:

= 0
enum type orcus::spreadsheet::hor_alignment_t

Values:

= 0
enum type orcus::spreadsheet::ver_alignment_t

Values:

= 0
enum type orcus::spreadsheet::data_table_type_t

Type of data table. A data table can be either of a single-variable column, a single-variable row, or a double-variable type that uses both column and row input cells.

Values:

enum type orcus::spreadsheet::totals_row_function_t

Function type used in the totals row of a table.

Values:

= 0
enum type orcus::spreadsheet::conditional_format_t

Values:

= 0
enum type orcus::spreadsheet::condition_operator_t

Values:

= 0
enum type orcus::spreadsheet::condition_type_t

Values:

= 0
enum type orcus::spreadsheet::condition_date_t

Values:

= 0
enum type orcus::spreadsheet::databar_axis_t

Values:

= 0