import_factory

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

class import_factory : public orcus::spreadsheet::iface::import_factory

Wraps document and view stores. This is to be used by the import filter to populate the document and view stores.

Public Functions

import_factory(document &doc)
import_factory(document &doc, view &view_store)
virtual ~import_factory()
virtual iface::import_global_settings *get_global_settings() override

Obtain an optional interface for global settings, which the import filter uses to specify global filter settings that may affect how certain values and properties should be processed. The implementor can use this interface to decide how to process relevant values and properties.

Returns:

pointer to the global settings interface, or a nullptr if the implementor doesn’t support it.

virtual iface::import_shared_strings *get_shared_strings() override

Obtain an optional interface for importing shared strings for string cells. Implementing this interface is required in order to import string cell values.

Returns:

pointer to the shared strings interface, or a nullptr if the implementor doesn’t support it.

virtual iface::import_styles *get_styles() override

Obtain an optional interface for importing styles used to add formatting properties to cell values.

Returns:

pointer to the styles interface, or a nullptr if the implementor doesn’t support it.

virtual iface::import_named_expression *get_named_expression() override

Obtain an optional interface for importing global named expressions.

Note that import_sheet also provides the same interface, but its interface is for importing sheet-local named expressions.

Returns:

pointer to the global named expression interface, or a nullptr if the implementor doesn’t support it.

virtual iface::import_reference_resolver *get_reference_resolver(formula_ref_context_t cxt) override

Obtain an optional interface for resolving cell and cell-range references from string values.

Parameters:

cxt – context in which the formula expression containing the references to be resolved occurs.

Returns:

pointer to the reference resolve interfance, or a nullptr if the implementor doesn’t support it.

virtual iface::import_pivot_cache_definition *create_pivot_cache_definition(orcus::spreadsheet::pivot_cache_id_t cache_id) override

Obtain an optional interface for pivot cache definition import for a specified cache ID. In case a pivot cache alrady exists for the passed ID, the implementor should overwrite the existing cache with a brand-new cache instance.

Parameters:

cache_id – numeric ID associated with the pivot cache.

Returns:

pointer to the pivot cache interface, or a nullptr if the implementor doesn’t support pivot cache import.

virtual iface::import_pivot_cache_records *create_pivot_cache_records(orcus::spreadsheet::pivot_cache_id_t cache_id) override

Obtain an optional interface for pivot cache records import for a specified cache ID.

Parameters:

cache_id – numeric ID associated with the pivot cache.

Returns:

pointer to the pivot cache records interface, or a nullptr if the implementor doesn’t support pivot cache import.

virtual iface::import_pivot_table_definition *create_pivot_table_definition() override
virtual iface::import_sheet *append_sheet(sheet_t sheet_index, std::string_view name) override

Append a sheet with a specified sheet position index and name and return an interface for importing its content. The implementor can use a call to this method as a signal to create and append a new sheet instance to the document store.

Parameters:
  • sheet_index – position index of the sheet to be appended. It is 0-based i.e. the first sheet to be appended will have an index value of 0.

  • name – sheet name.

Returns:

pointer to the sheet instance, or a nullptr if the implementor doesn’t support it. Note, however, that if the implementor doesn’t support this interface, no cell values will get imported.

virtual iface::import_sheet *get_sheet(std::string_view name) override

Get a sheet instance by name. The import filter may use this method to get access to an existing sheet after it has been created.

Parameters:

name – sheet name.

Returns:

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

virtual iface::import_sheet *get_sheet(sheet_t sheet_index) override

Retrieve a sheet instance by a specified numerical sheet index.

Parameters:

sheet_index – sheet index.

Returns:

pointer to the sheet instance, or a nullptr if no sheet instance exists at the specified sheet index.

virtual void finalize() override

The import filter calls this method after completing its import, to give the implementor a chance to perform post-processing.

void set_config(const import_factory_config &config)
void set_default_row_size(row_t row_size)
void set_default_column_size(col_t col_size)
void set_character_set(character_set_t charset)
character_set_t get_character_set() const
void set_recalc_formula_cells(bool b)

When setting this flag to true, those formula cells with no cached results will be re-calculated upon loading.

Parameters:

b – value of this flag.

void set_formula_error_policy(formula_error_policy_t policy)