Files
QWERTYkez.OpenXmlProcessors/QWERTYkez.ExcelProcessor/Editors/ExcelBook.cs
melekhin f5eb667973 0.9.1
2026-06-08 14:31:31 +07:00

43 lines
1.6 KiB
C#

namespace QWERTYkez.ExcelProcessor;
/// <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);
}