using OfficeOpenXml;

namespace NBConfigBuilder;

/// <summary>
/// Excel表格类，用于存储表格的名称和列信息。
/// </summary>
public sealed class ExcelTable
{
    /// <summary>
    /// 表格的名称。
    /// </summary>
    public readonly string Name;

    /// <summary>
    /// 客户端列信息，使用排序字典存储列名和列索引列表。
    /// </summary>
    public readonly SortedDictionary<string, List<int>> ClientColInfos = new();

    /// <summary>
    /// 服务器端列信息，使用排序字典存储列名和列索引列表。
    /// </summary>
    public readonly SortedDictionary<string, List<int>> ServerColInfos = new();

    /// <summary>
    /// 表数据
    /// </summary>
    public readonly ExcelWorksheet Sheet;

    /// <summary>
    /// 构造函数，初始化Excel表格对象并设置表格名称。
    /// </summary>
    /// <param name="sheet">表格。</param>
    public ExcelTable(ExcelWorksheet sheet)
    {
        Name = sheet.Name;
        Sheet = sheet;
    }
}