# `Exceed.Workbook`
[🔗](https://github.com/synchronal/exceed/blob/main/lib/exceed/workbook.ex#L1)

The top-level data structure that collects worksheets and metadata for
generating an Excel file.

## Examples

``` elixir
iex> Exceed.Workbook.new("creator name")
#Exceed.Workbook<sheets: []>
```

``` elixir
iex> headers = ["header 1"]
iex> rows = Stream.repeatedly(fn -> [:rand.uniform(), :rand.uniform()] end)
iex> ws = Exceed.Worksheet.new("Sheet Name", headers, rows)
...>
iex> Exceed.Workbook.new("creator name")
...>   |> Exceed.Workbook.add_worksheet(ws)
#Exceed.Workbook<sheets: ["Sheet Name"]>
```

# `t`

```elixir
@type t() :: %Exceed.Workbook{creator: String.t(), worksheets: [Exceed.Worksheet.t()]}
```

# `add_worksheet`

```elixir
@spec add_worksheet(t(), Exceed.Worksheet.t()) :: t()
```

Adds an `Exceed.Worksheet` to the workbook.

# `new`

```elixir
@spec new(String.t()) :: t()
```

Initialize a new workbook with a creator name.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
