获取SpreadSheetLight中Excel工作表中所有列的名称
我试图用电子表格中列的名称填充combobox。 我正在使用电子表格库。我可以使用以下代码设置单元格值,其中A是指列名称,1是指行名称。 (我是对的?)
但是,我怎样才能得到所有表中的所有列的名称。
SLDocument sl = new SLDocument(); sl.SetCellValue("A1", true);
首先,使用SLWorksheetStatistics
获取最后一列索引:
SLWorksheetStatistics stats = sl.GetWorksheetStatistics(); int endColumnIndex = stats.EndColumnIndex;
然后遍历列:
var headers = new List<string>(); for (int i = 1; i <= endColumnIndex; i++){ headers.Add(sl.GetCellValueAsString(1, i)); }
以下将从列表中打印出“foo”和“bar”的值:
var fileName = "test.xlsx"; var sl = new SLDocument(fileName); foreach (var sheetName in sl.GetWorksheetNames()) { SLDocument sheet = new SLDocument(fileName, sheetName); sheet.SetCellValue("A1", "foo"); sheet.SetCellValue("B1", "bar"); SLWorksheetStatistics stats = sheet.GetWorksheetStatistics(); int endColumnIndex = stats.EndColumnIndex; var headers = new List<string>(); for (int i = 1; i <= endColumnIndex; i++) { headers.Add(sheet.GetCellValueAsString(1, i)); } foreach (var column in headers) { Console.WriteLine(column); } Console.ReadKey(); }