jsonkenl / xlsxir

Xlsx parser for the Elixir language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error when running extract a 2nd time

pma opened this issue · comments

Running Xlsxir.extract/3 a second time raises. ets seems to complain that the table already exists.

iex(1)> path = "large_file.xlsx"
"large_file.xlsx"
iex(2)> Xlsxir.extract(path, 0)    
:ok
iex(3)> sheet = Xlsxir.extract(path, 0)
** (ArgumentError) argument error
    (stdlib) :ets.new(:worksheet, [:set, :protected, :named_table])
    (xlsxir) lib/xlsxir/state_manager.ex:11: Xlsxir.Worksheet.new/0
    (xlsxir) lib/xlsxir/sax_parser.ex:48: Xlsxir.SaxParser.parse/2
    (xlsxir) lib/xlsxir.ex:46: Xlsxir.extract/3

I missed Xlsxir.close

@pma Yeah, I'm eventually going to change that to allow for multiple ETS tables to be opened up when parsing multiple worksheets, but for now Xlsxir.close should work.