本文介绍了如何将数据添加到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
解决方案
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
解决方案
这篇关于如何将数据添加到GetOleDbSchemaTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!