API Reference ExVEx v#0.2.0

Copy Markdown View Source

Modules

Pure-Elixir reader and editor for .xlsx / .xlsm workbooks.

Absolute-or-relative A1-style cell references, as they appear inside Excel formula tokens.

Turns a list of ExVEx.Formula.Token records back into the formula string. Each token carries its canonical textual form in the :text field (populated by the tokenizer) OR derived from structured fields after a shift operation.

Applies a %ExVEx.Mutation.Shift{} to a token stream produced by ExVEx.Formula.Tokenizer, rewriting cell and range references so they continue to point at the same logical cells after the shift.

A single token produced by ExVEx.Formula.Tokenizer. Every formula is a flat list of these tokens, preserving enough structure for shift-on-insert/delete to walk the stream and rewrite cell references.

Tokenises an Excel formula string into a flat list of ExVEx.Formula.Token records.

A row/column insertion or deletion expressed as a single data record.

Cascades a %ExVEx.Mutation.Shift{} through an <autoFilter> node by rewriting its ref attribute (a single rectangular range).

Parse, shift, and serialize an xl/comments*.xml part.

Cascades a %ExVEx.Mutation.Shift{} through a <conditionalFormatting> SimpleForm node: its sqref attribute (space-separated ranges) and any <formula> text inside child <cfRule> elements.

Cascades a %ExVEx.Mutation.Shift{} through a <dataValidations> node: the sqref attribute and any <formula1> / <formula2> text children of each child <dataValidation> element.

Parse, shift, and serialize an xl/drawings/drawing*.xml part.

The shared string table (xl/sharedStrings.xml).

Cascades a %ExVEx.Mutation.Shift{} into the satellite parts linked from a worksheet's .rels file — comments, tables, and drawings.

Shifts an OOXML sqref string — a space-separated list of cell references and/or rectangular ranges (e.g. "A1:B2 D4 F1:F10") — under a %ExVEx.Mutation.Shift{}.

Parser for xl/styles.xml.

Raw alignment attributes attached to an <xf> in xl/styles.xml. This is the internal OOXML-shaped representation; end users read alignment off the flattened %ExVEx.Style.Alignment{} returned by ExVEx.get_style/3.

A single <xf> record from cellXfs. Cells reference these by index via the s attribute (<c r="A1" s="3"/>cell_formats[3]).

A custom number format declared in xl/styles.xml. IDs 0..163 are reserved for built-in formats defined by the OOXML spec; IDs 164 and above are custom formats authored by the workbook.

Parse, shift, and serialize an xl/tables/table*.xml part.

Parser for xl/workbook.xml — the per-workbook manifest of sheets.

A single <definedName> record from xl/workbook.xml. Named ranges and named formulas live here.

A reference to a worksheet as declared in xl/workbook.xml.

Parser and surgical mutator for xl/worksheets/sheet*.xml.

The raw, untyped-value form of a cell as it lives in worksheet XML.

ETS-backed editable representation of a worksheet. The parsed SimpleForm tree is converted on first access and materialised back to a tree at serialise time.

The [Content_Types].xml manifest that lives at the root of every OPC package.

A default content type mapping: every part whose path ends in extension has content_type unless overridden.

A per-part content type override. part_name is an absolute path with a leading / (e.g. "/xl/workbook.xml") per the OPC spec.

An OPC .rels file — a graph of <Relationship> records linking parts of the package together.

A single <Relationship> record: an opaque id, a type URI, and a target path that is resolved relative to the directory containing the .rels file that declared it.

Archive IO for the Open Packaging Convention container used by .xlsx / .xlsm / .xltx files.

A single member of an xlsx ZIP archive — a path inside the package and the raw bytes at that path. Directory entries (zero-length, name ending in /) are dropped by :zip.unzip/2 and are not represented here.

A resolved, flattened style for a single cell.

Alignment and wrapping options declared on a <xf> record.

The four sides of a cell border as %ExVEx.Style.Side{} records.

Translates the keyword-style options accepted by ExVEx.put_style/4 into updated %Font{}, %Fill{}, %Border{}, %Alignment{} records, merging with the cell's existing style.

A colour reference from the OOXML style model. Colours can be declared as a concrete RGB value, a reference to a theme palette entry, or a reference to the legacy indexed palette.

A fill record (the cell background) — a pattern type plus optional foreground and background colours.

A font record from xl/styles.xml — a name, size, colour, and the usual decoration flags.

One side of a cell border: a line style and a colour.

A1-style cell coordinate parsing and emission.

Rectangular cell ranges ("A1:B2" in Excel's notation).

The in-memory representation of a workbook.

Mix Tasks

Runs the rotating 4-phase xlsx benchmark across Elixir / Python / Rust.