49 lines
848 B
Plaintext
49 lines
848 B
Plaintext
using MemoryPack;
|
|
using OfficeOpenXml;
|
|
|
|
|
|
namespace ExcelConfig
|
|
{
|
|
[MemoryPackable]
|
|
public partial class (ConfigName)Category : IExcelConfig
|
|
{
|
|
[MemoryPackInclude]
|
|
public Dictionary<int, (ConfigName)> Dict { get; set; } = new();
|
|
|
|
|
|
public void Serialization(ExcelPackage p)
|
|
{
|
|
ExcelWorksheet worksheet = p.Workbook.Worksheets.First();
|
|
|
|
// 获取最大行数
|
|
int maxRow = worksheet.Dimension.End.Row;
|
|
|
|
// 从第6行开始遍历
|
|
for (int row = 6; row <= maxRow; row++)
|
|
{
|
|
var data = new (ConfigName)(worksheet.Cells, row);
|
|
Dict[data.Id] = data;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
[MemoryPackable]
|
|
public partial class (ConfigName)
|
|
{
|
|
(Fields)
|
|
|
|
[MemoryPackConstructor]
|
|
public (ConfigName)()
|
|
{
|
|
|
|
}
|
|
|
|
public (ConfigName)(ExcelRange cells, int row)
|
|
{
|
|
(ConstructorBody)
|
|
}
|
|
}
|
|
}
|
|
|