Propriedade ListObject.AutoFilter
Obtém uma tabela filtrada.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)
Sintaxe
'Declaração
ReadOnly Property AutoFilter As AutoFilter
AutoFilter AutoFilter { get; }
Valor de propriedade
Tipo: Microsoft.Office.Interop.Excel.AutoFilter
AutoFilter que contém uma tabela filtrada.
Exemplos
O exemplo de código a seguir adiciona ListObject a planilha, que corresponde a uma tabela do excel.O exemplo então preenche a tabela com duas linhas de dados arbitrários e especifica um filtro na tabela que filtra todas as linhas cujo valor da primeira coluna não é igual ao valor da cadeia de caracteres”. “bbEm seguida, o exemplo exibe o número de filtros ativos localizados na tabela.
Este exemplo é para uma personalização da nível.
Private Sub FilterListObject()
' Create ListObject control (table) and set table style
Dim employeeTable As Microsoft.Office.Tools.Excel.ListObject = _
Me.Controls.AddListObject(Me.Range("A1"), "employeeTable")
' Populate table with some data
Dim rng As Excel.Range
rng = employeeTable.InsertRowRange
rng(ColumnIndex:=1).Value2 = "bb"
rng(ColumnIndex:=2).Value2 = "b1"
Dim row2 As Excel.ListRow = employeeTable.ListRows.AddEx( _
AlwaysInsert:=True)
rng = row2.Range
rng(ColumnIndex:=1).Value2 = "aa"
rng(ColumnIndex:=2).Value2 = "a1"
' Set a filter
employeeTable.Range.AutoFilter(1, "bb")
Dim activeFilterCount As Integer = 0
For Each filter As Excel.Filter In employeeTable.AutoFilter.Filters
If filter.On = True Then
activeFilterCount += 1
End If
Next
MessageBox.Show("There are " + activeFilterCount.ToString() _
+ " active filter(s) for table " + employeeTable.Name + ".")
End Sub
private void FilterListObject()
{
// Create ListObject control (table) and set table style
Microsoft.Office.Tools.Excel.ListObject employeeTable =
this.Controls.AddListObject(this.Range["A1"],
"employeeTable");
// Populate table with some data
Excel.Range rng;
rng = employeeTable.InsertRowRange;
((Excel.Range)(rng[1])).Value2 = "bb";
((Excel.Range)(rng[2])).Value2 = "b1";
Excel.ListRow row2 = employeeTable.ListRows.AddEx(true);
rng = row2.Range;
((Excel.Range)(rng[1])).Value2 = "aa";
((Excel.Range)(rng[2])).Value2 = "a1";
// Set a filter
employeeTable.Range.AutoFilter(1, "bb",
Excel.XlAutoFilterOperator.xlFilterValues);
int activeFilterCount = 0;
foreach (Excel.Filter filter in employeeTable.AutoFilter.Filters)
{
if (filter.On == true)
{
activeFilterCount += 1;
}
}
MessageBox.Show("There are " + activeFilterCount.ToString()
+ " active filter(s) for table " + employeeTable.Name + ".");
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.