First commit

This commit is contained in:
Joakim Nylén
2019-04-11 23:39:59 +02:00
commit a6776fdca8
14 changed files with 694 additions and 0 deletions

31
lib/xler.ex Normal file
View File

@@ -0,0 +1,31 @@
defmodule Xler do
alias Xler.Native
@moduledoc """
Documentation for Xler.
"""
@doc """
Show the available worksheets for file.
## Examples
iex> Xler.worksheets("file.xls")
{:ok, ["Sheet 1"]}
"""
def worksheets(filename), do: filename |> Native.worksheets()
@doc """
Parses a specific worksheet from a file
Returns an list (of rows) with a list of columns
## Examples
iex> Xler.parse("file.xls", "Sheet 1")
{:ok, [["Date", "Text"]]}
"""
def parse(filename, worksheet), do: filename |> Native.parse(worksheet)
end

8
lib/xler/native.ex Normal file
View File

@@ -0,0 +1,8 @@
defmodule Xler.Native do
use Rustler, otp_app: :xler, crate: :xler_native
def parse(_filename, _worksheet), do: error()
def worksheets(_filename), do: error()
defp error, do: :erlang.nif_error(:nif_not_loaded)
end