|
@@ -871,23 +871,25 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
|
|
|
const styleIdx = private_getStyleId(cells[cIdx]);
|
|
|
rowIdx1 = theYPos.indexOf(cells[cIdx][JV.PROP_AREA][JV.PROP_TOP]);
|
|
|
colIdx1 = xPos.indexOf(cells[cIdx][JV.PROP_AREA][JV.PROP_LEFT]);
|
|
|
- let cellObj = rows[rowIdx1 - 1].items[colIdx1 - 1];
|
|
|
- cellObj.s = styleIdx;
|
|
|
- cellObj.isBlank = false;
|
|
|
- if (!(strUtil.isEmptyString(cells[cIdx][JV.PROP_VALUE]))) {
|
|
|
- const valIdx = private_getSharedStrIdx(cells[cIdx][JV.PROP_VALUE]);
|
|
|
- cellObj.v = valIdx;
|
|
|
- }
|
|
|
+ if (rowIdx1 <= rows.length) {
|
|
|
+ let cellObj = rows[rowIdx1 - 1].items[colIdx1 - 1];
|
|
|
+ cellObj.s = styleIdx;
|
|
|
+ cellObj.isBlank = false;
|
|
|
+ if (!(strUtil.isEmptyString(cells[cIdx][JV.PROP_VALUE]))) {
|
|
|
+ const valIdx = private_getSharedStrIdx(cells[cIdx][JV.PROP_VALUE]);
|
|
|
+ cellObj.v = valIdx;
|
|
|
+ }
|
|
|
|
|
|
- rowIdx2 = theYPos.indexOf(cells[cIdx][JV.PROP_AREA][JV.PROP_BOTTOM]);
|
|
|
- colIdx2 = xPos.indexOf(cells[cIdx][JV.PROP_AREA][JV.PROP_RIGHT]);
|
|
|
- if ((rowIdx2 - rowIdx1 > 1) || (colIdx2 - colIdx1 > 1)) {
|
|
|
- for (let i = 0; i < rowIdx2 - rowIdx1; i++) {
|
|
|
- for (let j = 0; j < colIdx2 - colIdx1; j++) {
|
|
|
- if (i === 0 && j === 0) continue;
|
|
|
- cellObj = rows[rowIdx1 - 1 + i].items[colIdx1 - 1 + j];
|
|
|
- cellObj.s = styleIdx;
|
|
|
- cellObj.isBlank = true;
|
|
|
+ rowIdx2 = theYPos.indexOf(cells[cIdx][JV.PROP_AREA][JV.PROP_BOTTOM]);
|
|
|
+ colIdx2 = xPos.indexOf(cells[cIdx][JV.PROP_AREA][JV.PROP_RIGHT]);
|
|
|
+ if ((rowIdx2 - rowIdx1 > 1) || (colIdx2 - colIdx1 > 1)) {
|
|
|
+ for (let i = 0; i < rowIdx2 - rowIdx1; i++) {
|
|
|
+ for (let j = 0; j < colIdx2 - colIdx1; j++) {
|
|
|
+ if (i === 0 && j === 0) continue;
|
|
|
+ cellObj = rows[rowIdx1 - 1 + i].items[colIdx1 - 1 + j];
|
|
|
+ cellObj.s = styleIdx;
|
|
|
+ cellObj.isBlank = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -957,6 +959,7 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
|
|
|
currentPageMergePos = shtItemData[JV.PAGE_SPECIAL_MERGE_POS];
|
|
|
currentMergeBorder = shtItemData[JV.PROP_PAGE_MERGE_BORDER];
|
|
|
const tmpPos = yMultiPos[i];
|
|
|
+ // console.log(yMultiPos[i]);
|
|
|
cellIdx = 0;
|
|
|
if (hasSignature && shtItemData[JV.PROP_SIGNATURE_CELLS] && shtItemData[JV.PROP_SIGNATURE_CELLS].length > 0) {
|
|
|
// 有签名情况下,还是有必要创建一个dummy cell的(画框用)
|