繁体   English   中英

VB.NET-以编程方式检查Excel中是否存在工作表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM