我正在使用库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);
感谢。
答案 0 :(得分:6)
不幸的是,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());
答案 1 :(得分:5)
自上述答案被接受后,似乎GetColumnNames()
已发生变化。
现在有一个重载,您可以将标题行的范围定义为字符串:
// This will return a List<string>
var colNames = ExcelFile
.GetColumnNames(SheetName, "A9:AF9")
.ToList();