This commit is contained in:
John Lancaster
2025-11-17 13:23:22 -06:00
parent e1d1e1baa3
commit d755fd872d

View File

@@ -29,15 +29,16 @@ def get_reports(base_dir: Path):
def find_in_range(rng: xw.Range, query: str) -> xw.Range | None:
for cell in rng:
match cell.value:
case str(cell_value) if cell_value.lower().startswith(query.lower()):
case str(cell_value) if re.match(query, cell_value, re.IGNORECASE):
return cell
return None
def find_total_row(table_start: xw.Range) -> int:
desc_col = find_in_range(table_start.expand('right'), "Desc")
col = desc_col.get_address(column_absolute=False)[0]
return find_in_range(table_start.sheet.range(f'{col}:{col}'), 'total').row
col_char = desc_col.get_address(column_absolute=False)[0]
col_rng = table_start.sheet.range(f'{col_char}:{col_char}')
return find_in_range(col_rng, 'total').row
def get_total_cost(sheet: xw.Sheet) -> float: