我正在开展一个NPOI
项目。
我有一个Excel
文件,其中包含5
个电子表格,其中包含:
2
被隐藏(因为它们是对话框,用户界面,工作表DlgView1
,DlgView2
)。 3
工作表(WrkSht1, WrkSht2, WrkSht3
)可见一些包含公式和外部链接的数据。 此外,Excel
工作表包含一个名为VBA module
的{{1}},其中包含一些逻辑。
当我使用Module1.bas
属性检查工作表的数量时,它显示workbook.NumberOfSheets
,但是当我遍历所有工作表的代码时,我得到以下结果:
5
我想应该是这样的:
1. Sheet1 = DlgView1 -------> which is hidden
2. Sheet2 = DlgView2 -------> which is hidden
3. Sheet3 = Module1 -------> which is hidden --->This is what is confusing!!!!
4. Sheet4 = WrkSht1 -------> which is visible
5. Sheet5 = WrkSht2 -------> which is visible
我无法访问其中一个可见工作表1. Sheet1 = DlgView1 -------> which is hidden
2. Sheet2 = DlgView2 -------> which is hidden
3. Sheet3 = WrkSht1 -------> which is visible
4. Sheet4 = WrkSht2 -------> which is visible
5. Sheet5 = WrkSht3 -------> which is visible
,因为此时工作表的计数(= 5)结束。
此外,当我的代码设置为围绕工作表WrkSht3
的不同单元格进行播放时,它实际上将指向WrkSht1
,而对于工作表WrkSht2
,它实际上将指向{{ 1}}。
但从上面的结果可以看出,WrkSht2
从未被初始化为工作表。
出于测试目的,我删除了WrkSht3
并进行了检查,它可以正常计数WrkSht3
并考虑要处理的所有工作表(Module1
)。
另外,要提及的是,在使用此文件时,我会抛出一个异常。没有任何其他人:
5
我的问题是:
DlgView1, DlgView2, WrkSht1, WrkSht2, WrkSht3
或Unsupported BOF found of type VBModule
将NPOI
工作表中的POI
视为隐藏工作表吗?
如果没有,为什么代码将VBA module
视为工作表而不是上面解释的实际可见工作表Excel
。
如果是,有没有办法告诉代码不要将Module1
视为工作表,还要考虑实际可见的工作表,例如WrkSht3
。
如果需要,我可以发送我正在处理的VBA Modules
表。感谢