diff --git a/blocks/edit/utils/helpers.js b/blocks/edit/utils/helpers.js index 302855cd..37857fd2 100644 --- a/blocks/edit/utils/helpers.js +++ b/blocks/edit/utils/helpers.js @@ -139,17 +139,11 @@ function formatSheetData(sheet) { return acc; }, []); - // Remove trailing empty rows - let emptyRow = true; - while (emptyRow) { - const lastRow = data.slice(-1)[0]; - const filled = Object.keys(lastRow).some((key) => lastRow[key]); - if (!filled) { - data.pop(); - } else { - emptyRow = false; - } + // Remove trailing empty rows - leave one data row if all data is empty + while (data.length > 1 && !Object.values(data.slice(-1)[0]).some(Boolean)) { + data.pop(); } + return data; } diff --git a/blocks/sheet/index.js b/blocks/sheet/index.js index c23db572..93431650 100644 --- a/blocks/sheet/index.js +++ b/blocks/sheet/index.js @@ -31,6 +31,7 @@ function getDefaultSheet() { } function getSheetData(sheetData) { + if (!sheetData?.length) return [[], []]; const header = Object.keys(sheetData[0]).map((key) => key); const data = sheetData.reduce((acc, item) => { const values = Object.keys(item).map((key) => item[key]);