我有一个机器生成的 excel 文件,其中有几列同名。例如:
A B C D
Group 1 Group 2
Period | Name Period | Name
我得到了这样的 DTO:
[ExcelColumn("Period")]
public string FirstPeriod { get; set; }
[ExcelColumn("Name")]
public string FirstName { get; set; }
[ExcelColumn("Period")]
public string SecondPeriod { get; set; }
[ExcelColumn("Name")]
public string SecondName { get; set; }
我使用以下命令来读取这些行:
var excel = new ExcelQueryFactory(filePath);
excel.WorksheetRange<T>(beginCell, endColl + linesCount.ToString(), sheetIndex);
它可以很好地读取文件,但是当我检查 DTO 的内容时,我看到所有“第二”属性都具有与“第一”属性相同的值。
这篇文章是我在搜索中找到的最接近的东西,我认为这个问题可以通过以下方式解决:
excel.AddMapping<MyDto>(x => x.FirstPeriod, "A");
excel.AddMapping<MyDto>(x => x.FirstName, "B");
excel.AddMapping<MyDto>(x => x.SecondPeriod, "C");
excel.AddMapping<MyDto>(x => x.SecondName, "D");
但我不知道如何获取 excel 列字母...
Obs:我在这背后还有一些代码,但我认为它与问题无关。