Skip to content

Library to parse common excel formats (xls, xlsx, csv)

Notifications You must be signed in to change notification settings

Recruitee/exoffice

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exoffice

Build Status

Exoffice is an Elixir library that parses common Excel formats: .xls (Excel 2003), .xlsx, (Excel 2007), .csv and saves parsed data into ets (excep .csv, which uses stream)

Installation

If available in Hex, the package can be installed as:

  1. Add exoffice to your list of dependencies in mix.exs:
```elixir
def deps do
  [{:exoffice, "~> 0.2.0"}]
end
```

Usage

Each parser has functions to parse, count rows, get rows and close file.

By default all sheets will be parsed:

  [{:ok, pid1, parser1}, {:ok, pid2, parser1}] = Exoffice.parse("./test/test_data/test.xls")
  [{:ok, pid3, parser2}, {:ok, pid4, parser2}] = Exoffice.parse("./test/test_data/test.xlsx")
  [{:ok, pid5, parser3}] = Exoffice.parse("./test/test_data/test.csv")

To parse a single sheet:

  {:ok, pid1, parser1} = Exoffice.parse("./test/test_data/test.xls", 1)
  {:ok, pid2, parser2} = Exoffice.parse("./test/test_data/test.xlsx", 1)
  {:ok, pid3, parser3} = Exoffice.parse("./test/test_data/test.csv", 1)

To count rows:

  Exoffice.count_rows(pid, parser)

To get rows:

  stream = Exoffice.get_rows(pid, parser)

Don't forget to close pid when you don't need data anymore:

  Exoffice.close(pid, parser)

About

Library to parse common excel formats (xls, xlsx, csv)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%