C# Excel Interop - 如何在列 header 中添加过滤器按钮

C# Excel Interop - How to add a filter button in column header

我在使用 C# excel 互操作时发现了一些问题,也许有人可以给我一些启发。

我想以编程方式在 header 列添加一个过滤器按钮,就像这样:

我认为这与我找到的自动筛选方法有关here,但我无法使其工作。

我试过将它添加到这样的范围(以及其他一些类似的方式):

Excel.Range myRange = SheetActual.Range[SheetActual.Cells[3, 1], SheetActual.Cells[3, 11]];
object result = myrange.AutoFilter(1, Type.Missing, XlAutoFilterOperator.xlAnd, Type.Missing, true);

但我没有取得任何成功...任何帮助将不胜感激。谢谢!

好的,我正在回答我的问题以供其他人日后参考。我发现我的问题是我用来保存工作簿的 excel 格式。我还发现可以在没有所有这些参数的情况下创建自动过滤器,因此要创建过滤器按钮:

Excel.Range myRange = SheetActual.Range[SheetActual.Cells[3, 1], SheetActual.Cells[3, 11]];
object result = myrange.AutoFilter(1);

保存文件只需使用:

Workbook.SaveAs("TheSavePath", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefaul);