0

我正在尝试使用电子表格中的列名称填充组合框。我正在使用电子表格灯库。我可以使用以下代码设置单元格值,其中A引用列名并1引用行名。(我对吗?)

但是如何获取所有工作表中所有列的名称?

SLDocument sl = new SLDocument();    
sl.SetCellValue("A1", true);
4

1 回答 1

1

首先,使用以下方法获取最后一列索引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();
}
于 2017-07-03T15:31:10.040 回答