Common patterns
Short snippets for everyday tasks.
Read a single config cell
from xlwings_package import get_named_range_results
protocol = get_named_range_results(wb, "Config", "protocol_name")
threshold = float(get_named_range_results(wb, "Config", "pass_threshold"))
Add a dropdown to a cell
from xlwings_package import add_dropdown_list
add_dropdown_list(wb) # interactive: prompts for title and values
Add a named range manually
from xlwings_package import add_named_range
ws = wb.sheets["Results"]
header_range = ws.range("B2:F2")
add_named_range(wb, "Results", "results_table", header_range, scope="sheet")
Create or delete a sheet
from xlwings_package import create_sheet, delete_sheet
ws = create_sheet(wb, "New Output")
delete_sheet(wb, "Old Output")
Paste a plot into Excel
from xlwings_package import paste_plot_to_cell
paste_plot_to_cell(
wb,
df,
x_column="Time",
y_column="Concentration",
target_cell="H2",
sheet_name="Results",
)
Load a file from disk
from xlwings_package import read_file_to_df
df = read_file_to_df(file_type="excel", sheet_name="Sheet1")
# Opens a file picker dialog; returns a DataFrame.
# For delimited text use file_type="csv" (lists .csv and .txt). To read an
# export with a metadata preamble, name the header row:
# df = read_file_to_df(file_type="csv", header_marker="Sample Name")
Colour rows by group (alternating)
from xlwings_package import colour_rows
colour_rows(
wb,
name_range="my_table",
df=df,
mode="group_alternate",
column_name="batch_id",
scope_sheet="Results",
)
Save a DataFrame
from xlwings_package import save_dataframe
save_dataframe(df, default_file_name="results")
# Opens a save dialog; writes CSV or XLSX depending on user choice.