3

我有一个使用 生成的 excel EPPlus,我想获取工作表中的所有列名。我试过使用LinqToExcel

   var excelFile = new ExcelQueryFactory(excelPath)
   IQueryable<Row> excelSheetValues = from workingSheet in excelFile.Worksheet(sheetName) select workingSheet;
   string[] headerRow = excelFile.GetColumnNames(sheetName).ToArray();

但这给我一个错误,我们不能使用 linq 获取 excel 的列名来为 epplus 提供 excel,因为它在使用 Micrsoft Office dll 时工作正常

4

2 回答 2

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();
  }
于 2016-07-19T14:06:28.553 回答
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);
于 2015-07-07T17:34:46.847 回答