Sets a classic XLS AutoFilter range e applies a per-field criterion in one call
Sintassi
procedura ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant); overload;
procedura ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;
procedura ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant); overload;
procedura ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;
Osservazioni
L'overload stringa accetta un intervallo in stile A1 come A1:C5. L'overload numerico usa indici di riga e colonna in base 1. Anche Field è in base 1 all'interno dell'intervallo AutoFilter
ApplyAutoFilter sostituisce qualsiasi intervallo AutoFilter esistente a livello di foglio di lavoro con l'intervallo fornito, poi scrive gli stessi record di criteri di campo BIFF8 usati da IXLSRange.Autofilter
Un criterio testuale che inizia con un operatore di confronto (>=, <=, <>, >, < o =) seguito da un numero, come '>=100' o '=2.5', viene memorizzato come condizione numerica, quindi filtra le celle numeriche come fa Excel. Scrivere il numero con il punto come separatore decimale. Qualsiasi altro testo, incluso un valore da solo come '100', viene memorizzato come condizione testuale
Usa TXLSWorksheet.AutoFilterColumns.Find(Field) per ispezionare i criteri memorizzati per campo dopo aver applicato o letto un AutoFilter XLS classico
Esempio
Workbook := TXLSWorkbook.Create;
try
Sheet := Workbook.Sheets[1];
Sheet.ApplyAutoFilter('A1:C5', 2, '>=100');
Workbook.SaveAs('filtered.xls', xlExcel97);
finally
Workbook.Free;
end;
Vedere Also