如何将数据添加到GetOleDbSchemaTable [英] How to add data to GetOleDbSchemaTable

查看:89
本文介绍了如何将数据添加到GetOleDbSchemaTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





以下函数返回excel文件的工作表名称。

 private List< string> ; GetExcelSheetName(OleDbConnection连接)
{
List< string> listSheetNames = new List< string>();
try
{
DataTable dtSheet = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);

foreach(dtSheet.Rows中的DataRow drSheet)
{
if(drSheet [TABLE_NAME]。ToString()。Contains($))//检查是否row包含'_xlnm#_FilterDatabase'或工作表名称(即工作表名称始终以$符号结尾)
{
listSheetNames.Add(drSheet [TABLE_NAME]。ToString());
}
}
}
catch(exception ex)
{
抛出新的异常(无法读取Excel工作表名称\\\
Details:+ ex.Message);
}
返回listSheetNames;
}





问题是,此功能仅适用于3张excel表。



我如何再添加一个表(excelsheet)到 GetOleDbSchemaTable



谢谢

John

解决方案

))//检查行是否包含'_xlnm#_FilterDatabase'或工作表名称(即工作表名称总是结束) with


sign)
{
listSheetNames.Add(drSheet [TABLE_NAME]。ToString());
}
}
}
catch(exception ex)
{
抛出新的异常(无法读取Excel工作表名称\\\
Details:+ ex.Message);
}
返回listSheetNames;
}





问题是,此功能仅适用于3张excel表。 />


我该怎么办?再添加一个表(excelsheet)到 GetOleDbSchemaTable



谢谢

John


Hi,

The following function returns the sheet names of excel file.

private List<string> GetExcelSheetName(OleDbConnection connection)
        {
            List<string> listSheetNames = new List<string>();
            try
            {
                DataTable dtSheet = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
 
                foreach (DataRow drSheet in dtSheet.Rows)
                {
                    if (drSheet["TABLE_NAME"].ToString().Contains("$"))//checks whether row contains '_xlnm#_FilterDatabase' or sheet name(i.e. sheet name always ends with $ sign)
                    {
                        listSheetNames.Add(drSheet["TABLE_NAME"].ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Could not read Excel sheet names\nDetails: " + ex.Message);
            }
            return listSheetNames;
        }



The problem is, this function is only working for 3 excel sheets.

How can I add one more table(excelsheet) to GetOleDbSchemaTable?

Thanks
John

解决方案

"))//checks whether row contains '_xlnm#_FilterDatabase' or sheet name(i.e. sheet name always ends with


sign) { listSheetNames.Add(drSheet["TABLE_NAME"].ToString()); } } } catch (Exception ex) { throw new Exception("Could not read Excel sheet names\nDetails: " + ex.Message); } return listSheetNames; }



The problem is, this function is only working for 3 excel sheets.

How can I add one more table(excelsheet) to GetOleDbSchemaTable?

Thanks
John


这篇关于如何将数据添加到GetOleDbSchemaTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆