First commit
This commit is contained in:
31
lib/xler.ex
Normal file
31
lib/xler.ex
Normal 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
8
lib/xler/native.ex
Normal 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
|
||||
Reference in New Issue
Block a user