|
@@ -346,7 +346,8 @@ function writeSheets(pageData, paperSize, sharedStrList, stylesObj, isSinglePage
|
|
|
return rst;
|
|
|
}
|
|
|
function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, appointedMergeBand){
|
|
|
- let rst = [], xPos = [], yPos = [], yMultiPos = [], headerStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
|
+ let rst = [], xPos = [], yPos = [], yMultiPos = [], currentMergeBorder = null,
|
|
|
+ headerStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
|
let currentPageMergePos = null; //在 JV.PAGING_OPTION_INFINITY 场合应用
|
|
|
let private_pre_analyze_pos = function(){
|
|
|
let cell, pos;
|
|
@@ -508,7 +509,8 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
|
|
|
};
|
|
|
let private_chkAndGetMergeLine = function(cell, sheetBorder, borderStr, needFurtherChk) {
|
|
|
let rst = 0,
|
|
|
- mergeBorder = (sheetData)?sheetData[JV.PROP_PAGE_MERGE_BORDER]:pageData[JV.BAND_PROP_MERGE_BAND],
|
|
|
+ // mergeBorder = (sheetData)?sheetData[JV.PROP_PAGE_MERGE_BORDER]:pageData[JV.BAND_PROP_MERGE_BAND],
|
|
|
+ mergeBorder = currentMergeBorder,
|
|
|
mergeBand = pageData[JV.BAND_PROP_MERGE_BAND]
|
|
|
;
|
|
|
if (appointedMergeBand !== null) {
|
|
@@ -758,6 +760,7 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
|
|
|
if (sheetData) {
|
|
|
//current sheet data
|
|
|
currentPageMergePos = sheetData[JV.PAGE_SPECIAL_MERGE_POS];
|
|
|
+ currentMergeBorder = sheetData[JV.PROP_PAGE_MERGE_BORDER];
|
|
|
self_setDataEx(sheetData, yPos, 0);
|
|
|
} else {
|
|
|
//total data in one sheet
|
|
@@ -765,6 +768,7 @@ function writeSheet(pageData, sheetData, paperSize, sharedStrList, stylesObj, ap
|
|
|
for (let i = 0; i < pageData.items.length; i++) {
|
|
|
let shtItemData = pageData.items[i];
|
|
|
currentPageMergePos = shtItemData[JV.PAGE_SPECIAL_MERGE_POS];
|
|
|
+ currentMergeBorder = shtItemData[JV.PROP_PAGE_MERGE_BORDER];
|
|
|
let tmpPos = yMultiPos[i];
|
|
|
cellIdx = 0;
|
|
|
self_setDataEx(shtItemData, tmpPos, cnt);
|
|
@@ -939,6 +943,7 @@ module.exports = {
|
|
|
let offsetY = 0;
|
|
|
let mergeBand = {};
|
|
|
custMergeBands.push(pageDataArray[i][JV.BAND_PROP_MERGE_BAND]);
|
|
|
+ //备注:不同的报表有可能有不同的边框,如封面表就是无边框的
|
|
|
mergeBand[JV.PROP_LEFT] = [];
|
|
|
mergeBand[JV.PROP_RIGHT] = [];
|
|
|
mergeBand[JV.PROP_TOP] = [];
|
|
@@ -955,6 +960,11 @@ module.exports = {
|
|
|
mergeBand[JV.PROP_TOP].push(pos);
|
|
|
pos = pageDataArray[i].items[j][JV.PAGE_SPECIAL_MERGE_POS][JV.PROP_BOTTOM][0] + offsetY;
|
|
|
mergeBand[JV.PROP_BOTTOM].push(pos);
|
|
|
+ } else if (pageDataArray[i].items[j][JV.PROP_PAGE_MERGE_BORDER]) {
|
|
|
+ let pos = pageDataArray[i].items[j][JV.PROP_PAGE_MERGE_BORDER][JV.PROP_TOP] + offsetY;
|
|
|
+ mergeBand[JV.PROP_TOP].push(pos);
|
|
|
+ pos = pageDataArray[i].items[j][JV.PROP_PAGE_MERGE_BORDER][JV.PROP_BOTTOM] + offsetY;
|
|
|
+ mergeBand[JV.PROP_BOTTOM].push(pos);
|
|
|
} else {
|
|
|
mergeBand[JV.PROP_TOP].push(pageDataArray[i][JV.BAND_PROP_MERGE_BAND][JV.PROP_TOP] + offsetY);
|
|
|
mergeBand[JV.PROP_BOTTOM].push(pageDataArray[i][JV.BAND_PROP_MERGE_BAND][JV.PROP_BOTTOM] + offsetY);
|