Changelog:
orcus 0.14.1
* addressed a number of coverity issues.
* improved precision of points-to-twips measurement conversions by
reducing the number of numeric operations to be performed. This
especially helps on i386 platforms.
orcus 0.14.0
* spreadsheet interface
* import_data_table::set_range() now receives a parameter of type
range_t.
* import_sheet::set_array_formula() interface methods have been
removed and replaced with import_sheet::get_array_formula() that
returns an interface of type import_array_formula.
* import_formula interface class has been added to replace the
formula related methods of import_sheet. As a result,
set_formula(), set_shared_formula(), and set_formula_result()
methods have been removed from the import_sheet interface class.
* import_auto_filter::set_range() now receives a parameter of type
range_t, rather than a string value representing a range.
* import_sheet::set_fill_pattern_type() interface method now takes
an enum value of type fill_pattern_t, rather than a string value.
* xls-xml
* pick up the character set from the XML declaration, and pass it
to the client app via import_global_settings interface.
* support importing of array formulas.
* xlsx
* support importing of array formulas.
* fixed a bug where sheet indices being passed to the append_sheet()
interface method were incorrect.
* shared formula handling code has been re-worked.
* spreadsheet::sheet class has been de-coupled from the import and
export interfaces.
* previously known as import_styles class is now split into styles
class and import_styles factory wrapper class.
* sax_parser now gracefully ignores leading whitespace(s) if any,
rather than aborting the parsing for it's not a valid XML stream
to have leading whitespace(s). In the future we should make this
behavior configurable.
* python
* add orcus.xlsx.read() function that takes a file object to load
an xlsx file as a replacement for orcus.xlsx.read_file().
* add orcus.ods.read(), orcus.xls_xml.read(), orcus.csv.read(),
and orcus.gnumeric.read() functions.
* add orcus.Sheet.write() method which exports sheet content to
specified format. For now only the csv format type is
supported.
* xml_map_tree no longer requires the source stream persisted in
memory between the read and write.
* the sax parser now stores the offset positions of each element
rather than their memory positions, in order to make the position
values usable between duplicated stream instances.
* xml_structure_tree to support selection of an element by element
path.
* document
* correctly set the argument separator depending on the formula
grammar type. This change fixes loading of ods documents with
formula cells.
* fixed a build issue with boost 1.67.