https://github.com/xou/elixlsx
An Elixir XLSX writer
https://github.com/xou/elixlsx
Last synced: 16 days ago
JSON representation
An Elixir XLSX writer
- Host: GitHub
- URL: https://github.com/xou/elixlsx
- Owner: xou
- License: mit
- Created: 2015-11-24T03:12:15.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-08-07T23:49:10.000Z (8 months ago)
- Last Synced: 2025-03-20T22:50:47.328Z (25 days ago)
- Language: Elixir
- Size: 245 KB
- Stars: 300
- Watchers: 12
- Forks: 120
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- freaking_awesome_elixir - Elixir - A writer for XLSX files. (Office)
- fucking-awesome-elixir - elixlsx - A writer for XLSX files. (Office)
- awesome-elixir - elixlsx - A writer for XLSX files. (Office)
README
# Elixlsx
[](https://travis-ci.org/xou/elixlsx)
[](https://hex.pm/packages/elixlsx)
[](https://hexdocs.pm/elixlsx/)
[](https://hex.pm/packages/elixlsx)
[](https://github.com/xou/elixlsx/blob/master/LICENSE)
[](https://github.com/xou/elixlsx/commits/master)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`:
```elixir
defp deps do
[{:elixlsx, "~> 0.6.0"}]
end
```Via GitHub:
```elixir
defp deps do
[{:elixlsx, github: "xou/elixlsx"}]
end
```## Usage
1-Line tutorial:
```elixir
(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](https://github.com/xou/elixlsx/blob/master/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](https://social.msdn.microsoft.com/Forums/office/en-US/e27aaf16-b900-4654-8210-83c5774a179c/xlsx-numfmtid-predefined-id-14-doesnt-match).## License
Copyright (c) 2015 Nikolai Weh
This library is MIT licensed. See the [LICENSE](https://github.com/xou/elixlsx/blob/master/LICENSE) for details.