diff --git a/Alpha/Alpha.csproj b/Alpha/Alpha.csproj index 54af86d..f56a22d 100644 --- a/Alpha/Alpha.csproj +++ b/Alpha/Alpha.csproj @@ -13,8 +13,8 @@ - - + + diff --git a/Alpha/Services/Excel/AlphaSheet.cs b/Alpha/Services/Excel/AlphaSheet.cs index 319797d..c3779d5 100644 --- a/Alpha/Services/Excel/AlphaSheet.cs +++ b/Alpha/Services/Excel/AlphaSheet.cs @@ -69,24 +69,7 @@ public record AlphaSubrow(RawSubrow RawSubrow) : IAlphaRow { public uint Row => this.RawSubrow.RowId; public ushort? Subrow => this.RawSubrow.SubrowId; - // They forgot to implement ReadColumn lol public object ReadColumn(uint columnIdx) { - var data = this.RawSubrow.Page.Sheet.Columns[(int) columnIdx]; - return data.Type switch { - ExcelColumnDataType.String => this.RawSubrow.ReadString(data.Offset), - ExcelColumnDataType.Bool => this.RawSubrow.ReadBool(data.Offset), - ExcelColumnDataType.Int8 => this.RawSubrow.ReadInt8(data.Offset), - ExcelColumnDataType.UInt8 => this.RawSubrow.ReadUInt8(data.Offset), - ExcelColumnDataType.Int16 => this.RawSubrow.ReadInt16(data.Offset), - ExcelColumnDataType.UInt16 => this.RawSubrow.ReadUInt16(data.Offset), - ExcelColumnDataType.Int32 => this.RawSubrow.ReadInt32(data.Offset), - ExcelColumnDataType.UInt32 => this.RawSubrow.ReadUInt32(data.Offset), - ExcelColumnDataType.Float32 => this.RawSubrow.ReadFloat32(data.Offset), - ExcelColumnDataType.Int64 => this.RawSubrow.ReadInt64(data.Offset), - ExcelColumnDataType.UInt64 => this.RawSubrow.ReadUInt64(data.Offset), - >= ExcelColumnDataType.PackedBool0 and <= ExcelColumnDataType.PackedBool7 => - this.RawSubrow.Page.ReadPackedBool(data.Offset, (byte) (data.Type - ExcelColumnDataType.PackedBool0)), - _ => throw new InvalidOperationException($"Unknown column type {data.Type}") - }; + return this.RawSubrow.ReadColumn((int) columnIdx); } }