From 2e81ebee5b980222b04be316d6895c97e99d9315 Mon Sep 17 00:00:00 2001 From: Manas Solanki Date: Tue, 20 Jun 2017 16:06:46 +0530 Subject: [PATCH] Add the empty row in the excel report in order to preserve the visible row no, fixes #9377 --- frappe/desk/query_report.py | 11 +++++------ frappe/public/js/frappe/views/reports/query_report.js | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index 24a37725ad..13a8659d4a 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -146,18 +146,17 @@ def export_query(): # build table from dict if isinstance(data.result[0], dict): - for row in data.result: - if row: + for i,row in enumerate(data.result): + # only rows which are visible in the report + if row and (i+1 in visible_idx): row_list = [] for idx in range(len(data.columns)): row_list.append(row.get(columns[idx]["fieldname"],"")) result.append(row_list) + elif not row: + result.append([]) else: result = result + data.result - - # filter rows by slickgrid's inline filter - if visible_idx: - result = [x for idx, x in enumerate(result) if idx == 0 or idx in visible_idx] from frappe.utils.xlsxutils import make_xlsx xlsx_file = make_xlsx(result, "Query Report") diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index 5277aaef15..1ce9f0e938 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -827,7 +827,7 @@ frappe.views.QueryReport = Class.extend({ var view_data = frappe.slickgrid_tools.get_view_data(me.columns, me.dataView); var result = view_data.map(row => row.splice(1)); - // rows filtered by inline_filter of slickgrid + // to download only visible rows var visible_idx = view_data.map(row => row[0]).filter(sr_no => sr_no !== 'Sr No'); if (data.file_format_type == "CSV") {