如何从Excel获取工作表名称

时间:2018-01-16 17:01:47

标签: c# excel exceldatareader

如何从Excel获取工作表名称并将其添加到我的组合框列表中?我无法在public static

中的代码中添加它
public static DataTable ExcelToDataTable (string fileName)
{
    using (var stream = File.Open(fileName, FileMode.Open, FileAccess.Read))
    {
        using (var reader = ExcelReaderFactory.CreateReader(stream))
        {
            var result = reader.AsDataSet(new ExcelDataSetConfiguration()
            {
                UseColumnDataType = true,
                ConfigureDataTable = (data) => new ExcelDataTableConfiguration()
                {
                    UseHeaderRow = true
                }
            });
            DataTableCollection table = result.Tables;
            DataTable resultTable = table["Sheet1"];                 
            return resultTable;
        }
    }
}

2 个答案:

答案 0 :(得分:3)

如果我明白你想要的!你可以使用这段代码:

var sheetNames = result.Tables
    .OfType<DataTable>()
    .Select(c => c.TableName)
    .ToArray();

答案 1 :(得分:1)

您应该使用TableName属性

result.Tables[0].TableName

Tables是一个包含所有工作表的集合,因此您可以循环并按索引选择所有工作表名称