Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LinqToExcel GetColumnNames at specific Row

I am using the library LinqToExcel to read excel files in my mvc4 project. My problem is when I try to read the headers at row 4... How I can do this?

In project, exists a function that returns all the column names, but I suppose that the columns need to be at row 0.

    // Summary:
    //     Returns a list of columns names that a worksheet contains
    //
    // Parameters:
    //   worksheetName:
    //     Worksheet name to get the list of column names from
    public IEnumerable<string> GetColumnNames(string worksheetName);

Thanks.

like image 807
Carlos Novo Avatar asked Oct 14 '13 11:10

Carlos Novo


1 Answers

Unfortunately the GetColumnNames() method only works when the header row is on row 1.

However, it should be possible to get the column names by using the WorksheetRangeNoHeader() method.

It would look something like this

var excel = new ExcelQueryFactory("excelFileName");
// Only select the header row
var headerRow = from c in excel.WorksheetRangeNoHeader("A4", "Z4")
                select c;

var columnNames = new List<string>();
foreach (var headerCell in headerRow)
  columnNames.Add(headerCell.ToString());
like image 178
Paul Avatar answered Sep 17 '22 15:09

Paul