From 7f4e14d93c38ea8fcabd5a4cfddbe6d4cb38003d Mon Sep 17 00:00:00 2001 From: susiyang Date: Sat, 20 Mar 2021 00:48:07 +0800 Subject: [PATCH] =?UTF-8?q?fixed:=20#573=20=E5=A4=8D=E5=88=B6=E5=A4=9A?= =?UTF-8?q?=E8=A1=8C=E6=96=87=E6=9C=AC=EF=BC=88inlineStr=EF=BC=89=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E7=9A=84=E5=8D=95=E5=85=83=E6=A0=BC=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=92=8C=E7=B2=98=E8=B4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/handler.js | 22 ++++++++++++++++++---- src/controllers/selection.js | 11 +++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/controllers/handler.js b/src/controllers/handler.js index 61724a7..3185cae 100644 --- a/src/controllers/handler.js +++ b/src/controllers/handler.js @@ -5329,7 +5329,7 @@ export default function luckysheetHandler() { for(let c = copy_c1; c <= copy_c2; c++){ let cell = d[r][c]; - + let isInlineStr = false if(cell != null && cell.mc != null && cell.mc.rs == null){ continue; } @@ -5347,13 +5347,27 @@ export default function luckysheetHandler() { v = ""; } + + if(v == null && d[r][c] && d[r][c].ct && d[r][c].ct.t == 'inlineStr') { + v = d[r][c].ct.s.map(val=>val.v).join(''); + isInlineStr = true; + } if(v == null){ - v = ""; + v = ""; } - - if(cpDataArr[r - copy_r1][c - copy_c1] != v){ + if(isInlineStr){ + const cpData = $(cpDataArr[r - copy_r1][c - copy_c1]).text().replace(/\s|\n/g,' ') + const storeValue = v.replace(/\n/g,'').replace(/\s/g,' ') + if(cpData != storeValue){ + isEqual = false; + break; + } + } + else{ + if(cpDataArr[r - copy_r1][c - copy_c1] != v){ isEqual = false; break; + } } } } diff --git a/src/controllers/selection.js b/src/controllers/selection.js index d0045a8..7fbabf7 100644 --- a/src/controllers/selection.js +++ b/src/controllers/selection.js @@ -438,6 +438,17 @@ const selection = { if(c_value == null){ c_value = getcellvalue(r, c, d); } + if(c_value == null && d[r][c] && d[r][c].ct && d[r][c].ct.t == 'inlineStr') { + c_value = d[r][c].ct.s.map(val=>{ + const font = $('') + val.fs && font.css('font-size',val.fs) + val.bl && font.css('font-weight',val.border) + val.it && font.css('font-style',val.italic) + val.cl==1 && font.css('text-decoration','underline') + font.text(val.v) + return font[0].outerHTML + }).join(''); + } if(c_value == null){ c_value = "";