LinqToExcel 获取特定行的列名

7
我正在使用LinqToExcel库在我的mvc4项目中读取excel文件。我的问题是当我尝试读取第四行标题时...我该如何做?
在项目中,存在一个返回所有列名的函数,但我认为列需要在第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);

谢谢。

2个回答

6

给未来的谷歌用户一个提示:

看起来自从上面的答案被接受以来,GetColumnNames() 已经发生了变化。

现在有一种重载,您可以将标题行的范围定义为字符串:

 // This will return a List<string> 
 var colNames = ExcelFile
                .GetColumnNames(SheetName, "A9:AF9")
                .ToList();

6

很遗憾,GetColumnNames()方法只适用于标题行在第一行的情况。

不过,可以使用WorksheetRangeNoHeader()方法来获取列名。

用法应该如下:

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());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接