diff --git a/src/global/api.js b/src/global/api.js index cb3728b..048689f 100644 --- a/src/global/api.js +++ b/src/global/api.js @@ -113,7 +113,7 @@ export function setCellValue(row, column, value, options = {}) { return tooltip.info("The order parameter is invalid.", ""); } - let data = $.extend(true, [], file.data); + let data = file.data; if(data.length == 0){ data = sheetmanage.buildGridData(file); } @@ -147,6 +147,10 @@ export function setCellValue(row, column, value, options = {}) { } else if(value instanceof Object){ let curv = {}; + let cell = data[row][column]; + if(isRealNull(cell)){ + cell = {}; + } if(value.f!=null && value.v==null){ curv.f = value.f; if(value.ct!=null){ @@ -164,6 +168,9 @@ export function setCellValue(row, column, value, options = {}) { if(value.v!=null){ curv.v = value.v; } + else { + curv.v = cell.v; + } if(value.m!=null){ curv.m = value.m; } @@ -175,7 +182,11 @@ export function setCellValue(row, column, value, options = {}) { if(attr in formatList){ menuButton.updateFormatCell(data, attr, v, row, row, column, column);//change range format } + else { + cell[attr] = v; + } } + data[row][column] = cell; } else{ if(value.toString().substr(0,1)=="=" || value.toString().substr(0,5)=="