Vb.net:Excel工作表上的showAllData()时出现互操作exception?

我有一些filter应用于我的inputExcel表,所以我决定在vb.net中使用showAllData()方法将其删除。

MSDN参考: http : //msdn.microsoft.com/en-us/library/bb178108( v= office.12).aspx

但是它在这一行上给出了一个非常奇怪的exception: Exception from HRESULT: 0x800A03EC

我的代码:

 sh = myWorkBook.Sheets(2) ' sh is my sheet sh.Visible = True sh.Activate() sh.Select() sh.ShowAllData() ' Exception raised on this line 

我究竟做错了什么 ?

这个例外是什么,我最近看到了这个。 但是从来不清楚哪里出了问题?

得到它修复:

我用来input的图纸在testing时没有过滤数据。

所以,这里的代码更改:

 sh = myWorkBook.Sheets(2) ' sh is my sheet sh.Visible = True sh.Activate() sh.Select() If sh.FilterMode = True Then sh.ShowAllData() End If 

多余的, if解决了这个问题。

但是,提出的例外依然没有任何帮助。 解释例外,如果有人可以。

但是,提出的例外依然没有任何帮助。 解释例外,如果有人可以。

ShowAllData()给出一个错误,如果数据没有被过滤,因此你必须检查它,因为你正确:)

这是另一种方式来做到这一点

  On Error Resume Next xlsheet.ShowAllData() On Error GoTo 0 

而要删除AutoFilter,你可以使用这个代码

  If xlsheet.AutoFilterMode = True Then xlsheet.AutoFilterMode = False