xlsxir v1.0.0 Release Notes
-
๐ Major changes in version 1.0.0 (non-backwards compatible) to improve performance and incorporate new functionality, including:
- ๐จ Refactored the
Xlsxir.Unzip
module to extract.xlsx
contents to file instead of memory to improve memory usage. The following functions were created to support this functionality:Xlsxir.Unzip.extract_xml_to_file/2
- Extracts necessary files to a./temp
directory for use during the parsing processXlsxir.Unzip.delete_dir/1
- Deletes './temp' directory and all of its contents
- ๐ Implemented Simple API for XML (SAX) parsing functionalty via the Erlsom Erlang library to improve performance and allow support for large
.xlsx
files. TheSweetXml
parsing library has been deprecated fromXlsxir
and is no longer utilized in v1.0.0. - Implemented Erlang Term Storage (ETS) for temporary storage of extracted data.
- Replaced
option
argument from the initial extract function (Xlsxir.extract/3
) withtimer
which is a boolean flag that controlsXlsxir.Timer
functionality. Data is no longer returned viaXlsxir.extract/3
and is instead stored in an ETS process. - Implemented various functions for accessing the extracted data:
Xlsxir.get_list/0
- Return entire worksheet data in the form of a list of row listsXlsxir.get_map/0
- Return entire worksheet data in the form of a map of cell names and valuesXlsxir.get_cell/1
- Return value of specified cellXlsxir.get_row/1
- Return values of specified rowXlsxir.get_col/1
- Return values of specified column
- ๐ Implemented
Xlsxir.close/0
function to allow the deletion of the ETS process containing extracted worksheet data to free up memory. - Implemented
Xlsxir.Timer
module for tracking elapsed time of extraction process. - ๐ Changed cell references from
atoms
tostrings
due to Elixiratom
limitations (i.e.:A1
to"A1"
). - ๐ Updated documentation and testing to incorporate changes.
- ๐จ Refactored the