C# 取Excel Sheet列表

本文介绍了一种使用C#语言从Excel文件中获取所有工作表名称的方法。通过连接到Excel文件并利用OleDbConnection对象,可以遍历并收集每个工作表的信息,包括名称、类型、目录和模式。

C# 取Excel Sheet列表

List<SheetName> GetSheetNames(OleDbConnection conn)
{
    List<SheetName> sheetNames = new List<SheetName>();
    if (conn.State != ConnectionState.Open)
    {
        conn.Open();
    }
    DataTable excelSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
    foreach (DataRow row in excelSchema.Rows)
    {
        if (!row["TABLE_NAME"].ToString().Contains("FilterDatabase"))//排除FilterDatabase :如果有做筛选会产生隐藏的表
        {
            sheetNames.Add(new SheetName() { sheetName = row["TABLE_NAME"].ToString(), sheetType = row["TABLE_TYPE"].ToString(), sheetCatalog = row["TABLE_CATALOG"].ToString(), sheetSchema = row["TABLE_SCHEMA"].ToString() });
        }
    }
    //conn.Close();
    return sheetNames;
}
class SheetName
{
    public string sheetName { get; set; }
    public string sheetType { get; set; }
    public string sheetCatalog { get; set; }
    public string sheetSchema { get; set; }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值