UmyaSpreadsheet.AutoFilterFunctions (umya_spreadsheet_ex v0.7.0)
View SourceFunctions for working with auto filters in spreadsheets.
Auto filters allow users to filter data in Excel by adding dropdown menus to column headers.
Summary
Functions
Gets the range of an auto filter in a worksheet.
Checks if a worksheet has an auto filter.
Removes an auto filter from a worksheet.
Sets an auto filter for a range of cells in a worksheet.
Functions
@spec get_auto_filter_range(UmyaSpreadsheet.Spreadsheet.t(), String.t()) :: {:ok, String.t() | nil} | {:error, String.t()}
Gets the range of an auto filter in a worksheet.
Parameters
spreadsheet
- The spreadsheet structsheet_name
- Name of the worksheet
Returns
- The range of the auto filter (e.g., "A1:E10") or
nil
if no auto filter exists
Examples
iex> {:ok, spreadsheet} = UmyaSpreadsheet.new()
iex> UmyaSpreadsheet.set_auto_filter(spreadsheet, "Sheet1", "A1:E10")
iex> UmyaSpreadsheet.get_auto_filter_range(spreadsheet, "Sheet1")
"A1:E10"
@spec has_auto_filter(UmyaSpreadsheet.Spreadsheet.t(), String.t()) :: {:ok, boolean()} | {:error, String.t()}
Checks if a worksheet has an auto filter.
Parameters
spreadsheet
- The spreadsheet structsheet_name
- Name of the worksheet
Returns
true
if the worksheet has an auto filter,false
otherwise
Examples
iex> {:ok, spreadsheet} = UmyaSpreadsheet.new()
iex> UmyaSpreadsheet.set_auto_filter(spreadsheet, "Sheet1", "A1:E10")
iex> UmyaSpreadsheet.has_auto_filter(spreadsheet, "Sheet1")
true
@spec remove_auto_filter(UmyaSpreadsheet.Spreadsheet.t(), String.t()) :: :ok | {:error, String.t()}
Removes an auto filter from a worksheet.
Parameters
spreadsheet
- The spreadsheet structsheet_name
- Name of the worksheet
Examples
iex> {:ok, spreadsheet} = UmyaSpreadsheet.new()
iex> UmyaSpreadsheet.set_auto_filter(spreadsheet, "Sheet1", "A1:E10")
iex> UmyaSpreadsheet.remove_auto_filter(spreadsheet, "Sheet1")
:ok
@spec set_auto_filter(UmyaSpreadsheet.Spreadsheet.t(), String.t(), String.t()) :: :ok | {:error, String.t()}
Sets an auto filter for a range of cells in a worksheet.
This adds filter dropdown buttons to the top row of the specified range.
Parameters
spreadsheet
- The spreadsheet structsheet_name
- Name of the worksheetrange
- Cell range in A1 notation (e.g., "A1:E10")
Examples
iex> {:ok, spreadsheet} = UmyaSpreadsheet.new()
iex> UmyaSpreadsheet.set_auto_filter(spreadsheet, "Sheet1", "A1:E10")
:ok