我需要分配Excel Interop Autofilter对象?

时间:2015-11-12 19:34:31

标签: c# excel office-interop excel-interop autofilter

这个问题是here的一个“续集”,但它足以保证自己在以太的位置。

我需要根据范围创建一个滤镜组合框;然后,列的跨度可以从前到后排序(上升/下降),也可以通过选择要显示/隐藏的列来过滤。

从MacroMarc以前的答案提供的代码中得知,我认为我已接近拥有我需要的东西:

Range monthYearCells = _xlSheet.Range[_xlSheet.Cells[COLUMN_HEADING_ROW, MONTH1_COL], _xlSheet.Cells[COLUMN_HEADING_ROW, MONTH13_COL]];
object monthFilter = (object)monthYearCells.AutoFilter(1, System.Reflection.Missing.Value, XlAutoFilterOperator.xlAnd, System.Reflection.Missing.Value, true);
var monthFilterCell = (Range)_xlSheet.Cells[6, 3];
monthFilterCell.Value = monthFilter;

...我想在monthFilterCell中放置sort / filter组合框。但是,将monthFilter对象添加到该单元格的Value属性会导致此运行时异常:

enter image description here

那么,确切地说,我将monthFilter,如果不是Value,指定为一个对象(而不是Value2,它是一个字符串)?

我是否完全关闭或错过了船?

注意:我也尝试过这段代码,也是基于MacroMarc的一些代码:

Range monthYearCells = _xlSheet.Range[_xlSheet.Cells[COLUMN_HEADING_ROW, MONTH1_COL], _xlSheet.Cells[COLUMN_HEADING_ROW, MONTH13_COL]];
PivotField pf = monthYearCells.PivotField;

......但它也失败了:

enter image description here

0 个答案:

没有答案