我有一个模板Excel工作表,该工作表具有一个自动过滤器预设,仅显示某些值。 从VB.Net,我使用microsoft.Office.Interop向该模板文件填充数据。 在用数据填充文件后,我需要重新应用预设的自动过滤器。
我想我可以用一个简单的方法做到这一点:
If Sh.AutoFilterMode Then Sh.AutoFilter.ApplyFilter()
但是,这似乎没有效果。我也尝试过:
If Sh.AutoFilterMode Then
Sh.AutoFilter.ShowAllData()
Sh.AutoFilter.ApplyFilter()
End If
这显示了所有数据,但没有重新应用过滤器。
为什么这不起作用?还是实现我想要的正确方法是什么?
请注意,这是一个简化的示例。在我实际的模板文件中,有多个工作表和表格。我的代码着眼于第一张工作表,重新应用自动过滤器(如果有),然后对工作表上的任何表格执行相同的操作,然后移至下一张工作表。
我需要在模板文件而不是代码中定义过滤器,因为我的代码可以处理许多不同的模板文件。
谢谢