diff --git a/addons/spreadsheet/static/src/actions/spreadsheet_download_action.js b/addons/spreadsheet/static/src/actions/spreadsheet_download_action.js index 5ebb8036d5d..b5ed3546140 100644 --- a/addons/spreadsheet/static/src/actions/spreadsheet_download_action.js +++ b/addons/spreadsheet/static/src/actions/spreadsheet_download_action.js @@ -9,15 +9,17 @@ import { createSpreadsheetModel, waitForDataLoaded } from "@spreadsheet/helpers/ * @param {object} action */ async function downloadSpreadsheet(env, action) { - const { name, data, stateUpdateMessages } = action.params; - const model = await createSpreadsheetModel({ env, data, revisions: stateUpdateMessages }); - await waitForDataLoaded(model); - const { files } = model.exportXLSX(); + let { name, data, stateUpdateMessages, xlsxData } = action.params; + if (!xlsxData) { + const model = await createSpreadsheetModel({ env, data, revisions: stateUpdateMessages }); + await waitForDataLoaded(model); + xlsxData = model.exportXLSX(); + } await download({ url: "/spreadsheet/xlsx", data: { zip_name: `${name}.xlsx`, - files: JSON.stringify(files), + files: JSON.stringify(xlsxData.files), }, }); }