如何从使用EPPLUS生成的excel中获取列

时间:2015-07-02 02:11:24

标签: c# excel linq epplus linq-to-excel

我使用 var excelFile = new ExcelQueryFactory(excelPath) IQueryable<Row> excelSheetValues = from workingSheet in excelFile.Worksheet(sheetName) select workingSheet; string[] headerRow = excelFile.GetColumnNames(sheetName).ToArray(); 生成了一个excel,我想在一个工作表中获取所有列名。我尝试过使用{{1}}

{{1}}

但是它给我一个错误,我们不能使用linq获得excel的列名称,因为它在使用Micrsoft Office dll时工作正常

2 个答案:

答案 0 :(得分:1)

尝试这样的事情。

var sheet= package.Workbook.Worksheets[1];
foreach (var firstRowCell in sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, 1, sheet.Dimension.End.Column]) 
        MessageBox.Show(firstRowCell.Text);

答案 1 :(得分:1)

@D Rao,对我来说这很好用

public static string[] GetHeaderColumns(this ExcelWorksheet worksheet)
 {
        List<string> columnNames = new List<string>();
        foreach (var startRowCell in sheet.Cells[worksheet.Dimension.Start.Row, worksheet.Dimension.Start.Column, 1, worksheet.Dimension.End.Column])
            columnNames.Add(startRowCell.Text);
        return columnNames.ToArray();
  }