From 06636f6a3c08128fe50aa880baabc9420fce4092 Mon Sep 17 00:00:00 2001 From: wpxp123456 <2677556700@qq.com> Date: Wed, 6 Jan 2021 16:19:50 +0800 Subject: [PATCH] fix(bug): bug bug fix #154, fix #410, fix #416 --- src/global/api.js | 65 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/src/global/api.js b/src/global/api.js index 91d3ece..b1804fb 100644 --- a/src/global/api.js +++ b/src/global/api.js @@ -2260,7 +2260,13 @@ export function getRangeArray(dimensional, options = {}) { for(let r = r1; r <= r2; r++){ for(let c = c1; c <= c2; c++){ let cell = data[r][c]; - dataArr.push(cell); + + if(cell == null || cell.v == null){ + dataArr.push(null); + } + else{ + dataArr.push(cell.v); + } } } } @@ -2270,7 +2276,13 @@ export function getRangeArray(dimensional, options = {}) { for(let c = c1; c <= c2; c++){ let cell = data[r][c]; - row.push(cell); + + if(cell == null || cell.v == null){ + row.push(null); + } + else{ + row.push(cell.v); + } } dataArr.push(row); @@ -2732,18 +2744,9 @@ export function setSingleRangeFormat(attr, value, options = {}) { range = formula.getcellrange(range) } - let rowCount = range.row[1] - range.row[0] + 1, - columnCount = range.column[1] - range.column[0] + 1; - - if (data.length !== rowCount || data[0].length !== columnCount) { - return tooltip.info('The data to be set does not match the selection', '') - } - - for (let i = 0; i < rowCount; i++) { - for (let j = 0; j < columnCount; j++) { - let row = range.row[0] + i, - column = range.column[0] + j; - setCellFormat(row, column, attr, value, {order: order}) + for (let r = range.row[0]; r <= range.row[1]; r++) { + for (let c = range.column[0]; c <= range.column[1]; c++) { + setCellFormat(r, c, attr, value, {order: order}) } } } @@ -2766,10 +2769,34 @@ export function setRangeFormat(attr, value, options = {}) { success } = {...options} - if (range instanceof Array) { - for (let i = 0; i < range.length; i++) { - setSingleRangeFormat(range[i]) + if(getObjType(range) == 'string'){ + if(!formula.iscelldata(range)){ + return tooltip.info("The range parameter is invalid.", ""); + } + + let cellrange = formula.getcellrange(range); + range = [{ + "row": cellrange.row, + "column": cellrange.column + }] + } + else if(getObjType(range) == 'object'){ + if(range.row == null || range.column == null){ + return tooltip.info("The range parameter is invalid.", ""); } + + range = [{ + "row": range.row, + "column": range.column + }]; + } + + if(getObjType(range) != 'array'){ + return tooltip.info("The range parameter is invalid.", ""); + } + + for (let i = 0; i < range.length; i++) { + setSingleRangeFormat(attr, value, { range: range[i], order: order }); } if (success && typeof success === 'function') { @@ -4765,6 +4792,10 @@ export function setSheetDelete(options = {}) { return tooltip.info("The order parameter is invalid.", ""); } + if(Store.luckysheetfile.length === 1){ + return tooltip.info(locale().sheetconfig.noMoreSheet, ""); + } + sheetmanage.deleteSheet(file.index); setTimeout(() => {