我想知道是否有办法以编程方式检查excel工作簿中是否存在工作表?
基本上我正在做的是检查excel文档是否存在,打开它并检查指定的工作表是否存在。我目前不知道如何检查并查看工作表是否存在。任何帮助都是极好的!感谢。
更新
我已经获得了一些很好的代码来完成这项工作。我现在所缺少的只是正确的进口。
我搜索过并发现了这个导入内容:
Imports Tools = Microsoft.Office.Tools.Excel
但由于某些原因未得到承认。我是否必须以某种方式配置VS以使其工作?或者我只是使用错误的导入?
答案 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);