feat(tableau): export Excel via DuckDB (AST->SQL) (#41)
Rewrite download_data to read filterModel/columnState from the AG Grid component and add export_dataframe (compiles filterModel to SQL via filtermodel_to_ast/ast_to_sql, builds ORDER BY, excludes hidden columns, queries DuckDB via query_marches). Replaces the old Polars filter_query pipeline tied to the removed DataTable. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -37,6 +37,23 @@ def fetch_grid_page(
|
||||
return page.to_dicts(), total
|
||||
|
||||
|
||||
def export_dataframe(filter_model, sort_model, hidden_columns) -> pl.DataFrame:
|
||||
"""Renvoie les lignes filtrées/triées pour l'export Excel.
|
||||
|
||||
Colonnes masquées exclues, valeurs brutes (non post-traitées HTML).
|
||||
"""
|
||||
ast = filtermodel_to_ast(filter_model, schema)
|
||||
filter_sql, params = ast_to_sql(ast, schema)
|
||||
order_by = sort_model_to_sql(sort_model, schema) or None
|
||||
visible = [c for c in schema.names() if c not in set(hidden_columns or [])]
|
||||
return query_marches(
|
||||
where_sql=filter_sql,
|
||||
params=params,
|
||||
columns=visible,
|
||||
order_by=order_by,
|
||||
)
|
||||
|
||||
|
||||
_LINK_COLUMNS = {
|
||||
"marche",
|
||||
"uid",
|
||||
|
||||
Reference in New Issue
Block a user