Adds rows below the last row with data on the sheet.
The cells are placed relative to the append point: row 0 is the first new row, row 1 the one after it, and columns are absolute. Rows may be sparse, and a leading gap leaves blank rows.
iex> rows = [["a", 1], ["b", 2]]
iex> op = Sheetshow.Op.AppendRows.new(Sheetshow.rows(rows), "log")
iex> Sheetshow.Op.AppendRows.height(op)
2Nothing here needs to know where the data ends, which is why appending is safe to retry against a sheet someone else is also writing to.
Summary
Functions
How many rows the op adds.
Builds the op from cells. The sheet comes from the cells unless given.
Types
@type t() :: %Sheetshow.Op.AppendRows{cells: [Sheetshow.Cell.t()], sheet: String.t()}
Functions
@spec height(t()) :: non_neg_integer()
How many rows the op adds.
iex> Sheetshow.Op.AppendRows.new([], "log") |> Sheetshow.Op.AppendRows.height()
0
@spec new([Sheetshow.Cell.t()], String.t() | nil) :: t()
Builds the op from cells. The sheet comes from the cells unless given.
iex> Sheetshow.Op.AppendRows.new(Sheetshow.row([1], sheet: "log")).sheet
"log"