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

时间:2010-11-04 14:45:58

标签: vb.net visual-studio excel

我想知道是否有办法以编程方式检查excel工作簿中是否存在工作表?

基本上我正在做的是检查excel文档是否存在,打开它并检查指定的工作表是否存在。我目前不知道如何检查并查看工作表是否存在。任何帮助都是极好的!感谢。

更新

我已经获得了一些很好的代码来完成这项工作。我现在所缺少的只是正确的进口。

我搜索过并发现了这个导入内容:

Imports Tools = Microsoft.Office.Tools.Excel

但由于某些原因未得到承认。我是否必须以某种方式配置VS以使其工作?或者我只是使用错误的导入?

3 个答案:

答案 0 :(得分:4)

您可以获取工作表集合并迭代并检查名称,这是c#

foreach (Sheet xlsSheet in xlsxWorkbooks)
{
    if (xlsSheet.Name.equals("NameYouAreLookingFor")) // Maybe add ToLower() incase of case issues
    {
        //Return First Cell Value
    }
}

答案 1 :(得分:1)

我的例子再次出现在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
    }

答案 2 :(得分:1)

var containsSheet = 
    (workBookIn.Sheets.Cast<object>()
        .Select(sheetValue => sheetValue as Worksheet))
        .Any(workbookSheet => workbookSheet != null && workbookSheet.Name == sheetName);