mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-12-19 06:30:13 +08:00
Fix empty sheets scenario for excel snippet (#2586)
This commit is contained in:
parent
dd107e5d19
commit
fdac5cfe4f
1 changed files with 10 additions and 4 deletions
|
|
@ -67,7 +67,7 @@ defmodule Livebook.Runtime.Definitions do
|
||||||
|
|
||||||
xlsx_reader = %{
|
xlsx_reader = %{
|
||||||
name: "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())
|
windows? = match?({:win32, _}, :os.type())
|
||||||
|
|
@ -427,9 +427,15 @@ defmodule Livebook.Runtime.Definitions do
|
||||||
|
|
||||||
tabs =
|
tabs =
|
||||||
for sheet <- XlsxReader.sheet_names(package) do
|
for sheet <- XlsxReader.sheet_names(package) do
|
||||||
# Assume the first row contains column names
|
maps =
|
||||||
{:ok, [header | rows]} = XlsxReader.sheet(package, sheet)
|
case XlsxReader.sheet(package, sheet) do
|
||||||
maps = Enum.map(rows, fn row -> header |> Enum.zip(row) |> Map.new() end)
|
{:ok, []} ->
|
||||||
|
[]
|
||||||
|
|
||||||
|
{:ok, [header | rows]} ->
|
||||||
|
Enum.map(rows, fn row -> header |> Enum.zip(row) |> Map.new() end)
|
||||||
|
end
|
||||||
|
|
||||||
{sheet, Kino.DataTable.new(maps)}
|
{sheet, Kino.DataTable.new(maps)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue