[英]VB.NET - Programatically check to see if a Sheet exists in Excel
我想知道是否可以通过编程方式检查Excel工作簿中是否存在工作表?
基本上我正在做的是检查Excel文档是否存在,将其打开并检查指定的工作表是否存在。 我目前不知道如何检查和查看工作表是否存在。 任何帮助都是极好的! 谢谢。
UPDATE
我得到了一些不错的代码来完成这项工作。 我现在所缺少的只是正确的进口。
我搜索并找到了此导入:
Imports Tools = Microsoft.Office.Tools.Excel
但是由于某种原因,这未被认可。 我是否必须以某种方式配置VS才能使其正常工作? 还是我只是使用了错误的导入?
您可以获取工作表集合并进行迭代并检查名称,这是c#
foreach (Sheet xlsSheet in xlsxWorkbooks)
{
if (xlsSheet.Name.equals("NameYouAreLookingFor")) // Maybe add ToLower() incase of case issues
{
//Return First Cell Value
}
}
var containsSheet =
(workBookIn.Sheets.Cast<object>()
.Select(sheetValue => sheetValue as Worksheet))
.Any(workbookSheet => workbookSheet != null && workbookSheet.Name == sheetName);
同样,我的示例在C#中,但这应该得到您想要的。
bool sheetExist = false;
OleDbConnection objConn = new OleDbConnection(connString);
objConn.Open();
DataTable dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dt == null)
if (dt.Rows.Count > 0)
{
DataRow[] rows = dt.Select("TABLE_NAME = 'Sheet1$'")
if (rows != null)
sheetExist = rows.count > 0
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.