HotXLS-dokumentation

ApplyAutoFilter metod

Sätter ett klassiskt XLS AutoFilter-område och tillämpar ett kriterium per fält i ett anrop

Syntax

procedure ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant); overload;
procedure ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;
procedure ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant); overload;
procedure ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;

Anmärkningar

Strängöverlagringen accepterar ett område i A1-notation, t.ex. A1:C5. Den numeriska överlagringen använder 1-baserade rad- och kolumnindex. Även Field är 1-baserat inom AutoFilter-området
ApplyAutoFilter ersätter alla befintliga AutoFilter-områden på kalkylbladsnivå med det angivna området och skriver sedan samma BIFF8-fältkriterieposter som används av IXLSRange.Autofilter
Ett textkriterium som börjar med en jämförelseoperator (>=, <=, <>, >, < eller =) följt av ett tal, t.ex. '>=100' eller '=2.5', lagras som ett talvillkor och matchar därför numeriska celler på samma sätt som i Excel. Skriv talet med punkt som decimaltecken. All annan text, inklusive ett värde utan operator som '100', lagras som ett textvillkor
Använd TXLSWorksheet.AutoFilterColumns.Find(Field) för att inspektera de lagrade kriterierna per fält efter att ett klassiskt XLS-autofilter tillämpats eller lästs

Exempel

Workbook := TXLSWorkbook.Create;
try
  Sheet := Workbook.Sheets[1];
  Sheet.ApplyAutoFilter('A1:C5', 2, '>=100');
  Workbook.SaveAs('filtered.xls', xlExcel97);
finally
  Workbook.Free;
end;

See Also