feat: add ColumnAttribute and CellExtensions for BOM parsing

This commit is contained in:
2026-03-27 17:24:15 -04:00
parent 45dea4ec2b
commit 094b522644
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
using ClosedXML.Excel;
namespace OpenNest.IO.Bom
{
public static class CellExtensions
{
public static int? ToIntOrNull(this IXLCell cell)
{
if (cell.IsEmpty()) return null;
if (cell.DataType == XLDataType.Number) return (int)cell.GetDouble();
if (int.TryParse(cell.GetString(), out var i)) return i;
return null;
}
public static double? ToDoubleOrNull(this IXLCell cell)
{
if (cell.IsEmpty()) return null;
if (cell.DataType == XLDataType.Number) return cell.GetDouble();
if (double.TryParse(cell.GetString(), out var result)) return result;
return null;
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
namespace OpenNest.IO.Bom
{
[AttributeUsage(AttributeTargets.Property)]
public class ColumnAttribute : Attribute
{
public ColumnAttribute(params string[] names)
{
Names = names;
}
public string[] Names { get; }
}
}