8000 GitHub - ibooking-rolf/exoffice: Library to parse common excel formats (xls, xlsx, csv)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ibooking-rolf/exoffice

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 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

Packages

No packages published

Languages

  • Elixir 100.0%
0