Я пытаюсь прочитать в Excel, используя linqToexcel. Но я не могу читать, когда заголовки не в первом ряду.
LinqToexcel работает только тогда, когда заголовки находятся в первом ряду. Как я могу читать по именам заголовков вместо первой строки. Может ли кто-нибудь помочь?
1 ответ
Имена столбцов запросов
Метод GetColumnNames() можно использовать для получения списка имен столбцов на рабочем листе.
var excel = new ExcelQueryFactory("excelFileName");
var columnNames = excel.GetColumnNames("worksheetName");
Свойство для сопоставления столбца
Имена столбцов на листе могут быть сопоставлены с конкретными именами свойств в классе с помощью метода AddMapping(). Имя свойства может быть передано в виде строки или безопасного времени компиляции.
var excel = new ExcelQueryFactory("excelFileName");
excel.AddMapping<Company>(x => x.State, "Providence"); //maps the "State" property to the "Providence" column
excel.AddMapping("Employees", "Employee Count"); //maps the "Employees" property to the "Employee Count" column
var indianaCompanies = from c in excel.Worksheet<Company>()
where c.State == "IN" && c.Employees > 500
select c;
Имена столбцов могут поочередно отображаться с помощью атрибута ExcelColumn в свойствах класса.
public class Company
{
[ExcelColumn("Company Title")] //maps the "Name" property to the "Company Title" column
public string Name { get; set; }
[ExcelColumn("Providence")] //maps the "State" property to the "Providence" column
public string State { get; set; }
[ExcelColumn("Employee Count")] //maps the "Employees" property to the "Employee Count" column
public string Employees { get; set; }
}