Skip to content

sibill-it/elixlsx

 
 

Repository files navigation

Elixlsx

Build Status Module Version Hex Docs Total Download License Last Updated

Elixlsx is a writer for the MS Excel OpenXML format (.xlsx).

Features:

  • Multiple (named) sheets with custom column widths & column heights.
  • (Unicode-)strings, Numbers, Dates
  • Font formatting (size, bold, italic, underline, strike)
  • Horizontal alignment and text wrapping
  • Font and cell background color, borders
  • Merged cells

Installation

As of version 0.6, elixlsx requires Elixir 1.12 or above.

Installation via Hex, in mix.exs:

defp deps do
  [{:elixlsx, "~> 0.6.0"}]
end

Via GitHub:

defp deps do
  [{:elixlsx, github: "xou/elixlsx"}]
end

Usage

1-Line tutorial:

(alias Elixlsx.Workbook, alias Elixlsx.Sheet)
iex(1)> Workbook.append_sheet(%Workbook{}, Sheet.with_name("Sheet 1") |> Sheet.set_cell("A1", "Hello", bold: true)) |> Elixlsx.write_to("hello.xlsx")

See example.exs for examples how to use the various features.

  • The workbook is a XML file ultimately, so remember that formulas containing "<" or ">" must be escaped properly.
  • :xmerl_lib.export_text/1 can be used to escape formulas properly

Number and date formatting reference

A quick introduction how number formattings look like can be found here.

License

Copyright (c) 2015 Nikolai Weh

This library is MIT licensed. See the LICENSE for details.

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 99.8%
  • Shell 0.2%