LinqToExcel GetColumnNames at specific Row
本文关键字:Row specific at GetColumnNames LinqToExcel | 更新日期: 2023-09-27 18:35:27
我正在使用 LinqToExcel 库来读取 mvc4 项目中的 excel 文件。我的问题是当我尝试读取第 4 行的标题时......我该怎么做?
在项目中,存在一个返回所有列名的函数,但我认为列需要位于第 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);
谢谢。
不幸的是,GetColumnNames()
方法仅在标题行位于第 1 行时有效。
但是,应该可以使用 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());
供未来谷歌用户参考:
自从上述答案被接受以来,GetColumnNames()
似乎发生了变化。
现在有一个重载,您可以在其中将标题行的范围定义为字符串:
// This will return a List<string>
var colNames = ExcelFile
.GetColumnNames(SheetName, "A9:AF9")
.ToList();