43 lines
1.6 KiB
C#
43 lines
1.6 KiB
C#
|
|
namespace QWERTYkez.ExcelProcessor.Editors;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Внутренняя реализация <see cref="IBook"/>, которая делегирует вызовы к <see cref="ExcelWriter"/>.
|
|||
|
|
/// Используется в ситуациях, когда требуется отдельный объект книги (например, в <see cref="IExcelWriter.Edit"/>).
|
|||
|
|
/// </summary>
|
|||
|
|
internal sealed class ExcelBook : IBook
|
|||
|
|
{
|
|||
|
|
internal readonly ExcelWriter Writer;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Инициализирует обёртку книги.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="writer">Реальный процессор Excel (реализует IBook).</param>
|
|||
|
|
internal ExcelBook(ExcelWriter writer)
|
|||
|
|
{
|
|||
|
|
Writer = writer;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public IReadOnlyList<ISheet> GetSheets() => Writer.GetSheets();
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public ISheet? Sheet(string name) => Writer.Sheet(name);
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public bool TryGetSheet(string name, out ISheet sheet) => Writer.TryGetSheet(name, out sheet);
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public bool TryAddSheet(string name, Action<ISheet>? edit = null) => Writer.TryAddSheet(name, edit);
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public bool TryRemoveSheet(string name) => Writer.TryRemoveSheet(name);
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public bool TryRemoveSheet(ISheet sheet) => Writer.TryRemoveSheet(sheet);
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public IReadOnlyList<NumberFormatPattern> GetNumberFormats() => Writer.GetNumberFormats();
|
|||
|
|
|
|||
|
|
/// <inheritdoc />
|
|||
|
|
public NumberFormatPattern CreateNumberFormat(string format) => Writer.CreateNumberFormat(format);
|
|||
|
|
}
|