/elixlsx

An Elixir XLSX writer

Primary LanguageElixirMIT LicenseMIT

Elixlsx

Hex Version Build Status

A writer for XLSX files.

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

Elixir 1.3 and above

Via hex, in mix.exs:

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

Via github:

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

Elixir pre 1.3

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

Via github:

defp deps do
  [{:elixlsx, github: "xou/elixlsx", tag: "v0.3.1"}]
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.

Number and date formatting reference

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