Fix empty sheets scenario for excel snippet (#2586)

This commit is contained in:
Victor Rodrigues 2024-04-29 13:14:38 +02:00 committed by GitHub
parent dd107e5d19
commit fdac5cfe4f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -67,7 +67,7 @@ defmodule Livebook.Runtime.Definitions do
xlsx_reader = %{
name: "xlsx_reader",
dependency: %{dep: {:xlsx_reader, "~> 0.8.3"}, config: []}
dependency: %{dep: {:xlsx_reader, "~> 0.8.4"}, config: []}
}
windows? = match?({:win32, _}, :os.type())
@ -427,9 +427,15 @@ defmodule Livebook.Runtime.Definitions do
tabs =
for sheet <- XlsxReader.sheet_names(package) do
# Assume the first row contains column names
{:ok, [header | rows]} = XlsxReader.sheet(package, sheet)
maps = Enum.map(rows, fn row -> header |> Enum.zip(row) |> Map.new() end)
maps =
case XlsxReader.sheet(package, sheet) do
{:ok, []} ->
[]
{:ok, [header | rows]} ->
Enum.map(rows, fn row -> header |> Enum.zip(row) |> Map.new() end)
end
{sheet, Kino.DataTable.new(maps)}
end