Я пытаюсь прочитать в 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; }
}
Другие вопросы по тегам