如何确定Excel工作簿中有多少个工作表?

mnowg1ta  于 2022-12-24  发布在  其他
关注(0)|答案(6)|浏览(256)

预先感谢您的帮助。我想遍历工作簿中的所有工作表。不幸的是,我不知道给定工作簿中有多少个工作表。现在我使用以下技术枚举所有工作表:

Excel.Worksheet xlWorkSheet1;
xlWorkSheet1 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Excel.Worksheet xlWorkSheet2;
xlWorkSheet2 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2);
Excel.Worksheet xlWorkSheet3;
xlWorkSheet3 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(3);

是否有方法可以返回工作簿中的工作表数量?

fnx2tebb

fnx2tebb1#

使用Excel.Workbook,然后可以在forwhile循环中使用Workbook.Sheets.Count()

tjvv9vkg

tjvv9vkg2#

Worksheets属性具有工作表的集合。

foreach (Excel.Worksheet xlworksheet in xlworkbook.Worksheets)
{
    //xlworksheet code here
}

或者,获取计数值并使用for循环。

uhry853o

uhry853o3#

在谷歌上搜索这个页面,或者其他几个页面,你必须使用VBA或C#,或者在Excel的名称管理器中开始摆弄。
任何人寻找一个快速和肮脏的解决方案:
用7zip打开xlsx文件,导航到xl\worksheets,在那里你应该可以看到所有的工作表,如果你选择了那些工作表,7zip会为你计数。

fumotvh3

fumotvh34#

在工作簿中插入一个要计算总页数的模块,然后键入以下代码并单击“运行

Public Sub CountWorksheets()
       MsgBox "Total Sheets count:" & Application.Sheets.Count

End Sub

您将获得如下所示的相关输出

juud5qan

juud5qan5#

我们现在可以用途:第一个月

mwkjh3gx

mwkjh3gx6#

我用这样的代码

//Create application.
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();

//Opening excel book
Workbook ObjWorkBook = ObjExcel.Workbooks.Open(excelFileLocation, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);

//Getting sheets count
int sheetsCount = ObjWorkBook.Worksheets.Count;

要使此代码正常工作,您需要使用NuGet-Microsoft.Office.Interop.Excel安装该包

相关问题