Class XlsbWorkbookWriter
Writes an .xlsb workbook (BIFF12 binary format) to a stream, one sheet at a time.
public sealed class XlsbWorkbookWriter : IWorkbookWriter<XlsbSheetWriter>, IDisposable, IAsyncDisposable
- Inheritance
-
XlsbWorkbookWriter
- Implements
- Inherited Members
- Extension Methods
Methods
AddSheet(string)
Begins a new sheet named name and returns its writer. Only one sheet may be
open (started and not yet ended) at a time; the previous sheet's writer must be ended and
disposed before starting the next one.
public XlsbSheetWriter AddSheet(string name)
Parameters
namestringThe sheet's name, shown to Excel; must be unique (ignoring case) within the workbook and meet Excel's sheet-name restrictions (1-31 characters, no
: \ / ? * [ ]).
Returns
- XlsbSheetWriter
The writer for the new sheet.
AddSheet(string, ExcelSheetVisibility)
Begins a new sheet named name with the given tab-bar visibility, and returns
its writer. Same contract as AddSheet(string) otherwise.
public XlsbSheetWriter AddSheet(string name, ExcelSheetVisibility visibility)
Parameters
namestringThe sheet's name, shown to Excel; must be unique (ignoring case) within the workbook and meet Excel's sheet-name restrictions (1-31 characters, no
: \ / ? * [ ]).visibilityExcelSheetVisibilityWhether the sheet is shown in the workbook's tab bar. A workbook whose sheets are all hidden is rejected when it is ended, since Excel reports such a file as damaged.
Returns
- XlsbSheetWriter
The writer for the new sheet.
Exceptions
- ArgumentOutOfRangeException
visibilityis not a defined value.
AddStyle(CellStyle)
Registers style and returns its index, reusing the index of an
already-registered style with the same value. Index 0 is always the general/default
style; index 1 is always the builtin date style every date cell already uses.
public int AddStyle(CellStyle style)
Parameters
styleCellStyleThe number format/bold/italic combination to register.
Returns
- int
The style's index, for use with SetColumnStyle(int, int) and StartRowAsync(int, CancellationToken).
Exceptions
- ArgumentException
The style's number format is longer than 255 characters.
- ExcelLimitExceededException
The workbook already has 200 distinct number formats, the most Excel opens.
Create(Stream, bool, XlsbWriterOptions?)
Creates a writer that produces an .xlsb archive on stream.
public static XlsbWorkbookWriter Create(Stream stream, bool leaveOpen = false, XlsbWriterOptions? options = null)
Parameters
streamStreamThe destination stream; must be writable.
leaveOpenboolIf true,
streamis not disposed when the writer is disposed.optionsXlsbWriterOptionsDate system, compression, shared-string and background-deflate settings. Defaults to Default.
Returns
Exceptions
- ArgumentNullException
streamis null.
Dispose()
Synchronous counterpart to DisposeAsync(), for native/unmanaged callers whose ABI is synchronous.
public void Dispose()
DisposeAsync()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
A task that represents the asynchronous dispose operation.
End()
Synchronous counterpart to EndAsync(CancellationToken), for native/unmanaged callers whose ABI is synchronous.
public void End()
EndAsync(CancellationToken)
Finalizes the workbook, writing any trailing structure (e.g. the workbook manifest/index) so the destination stream contains a complete, readable file. No further sheets may be added afterward. Idempotent with disposal: disposing an already-ended workbook is a no-op beyond releasing resources. A call that fails part-way still ends the workbook: it cannot be retried, and disposing it only releases the stream. A token already canceled on entry leaves the workbook untouched.
public ValueTask EndAsync(CancellationToken ct = default)
Parameters
ctCancellationTokenA token to cancel the operation.
Returns
Flush()
Synchronous counterpart to FlushAsync(CancellationToken), for native/unmanaged callers whose ABI is synchronous.
public void Flush()
FlushAsync(CancellationToken)
Flushes any buffered output for the workbook and its current sheet to the destination stream.
public ValueTask FlushAsync(CancellationToken ct = default)
Parameters
ctCancellationTokenA token to cancel the operation.