| 
					
				 | 
			
			
				@@ -37,6 +37,16 @@ let rptPrintHelper = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function getActualBorderStyle(cell, styles, mergeBorderStyle, pageBorderArea, borderStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let rst = styles[cell[JV.PROP_STYLE]][borderStr]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (mergeBorderStyle) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (parseFloat(cell[JV.PROP_AREA][borderStr]) === parseFloat(pageBorderArea[borderStr])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rst = mergeBorderStyle[borderStr]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function buildCellSvg(cell, fonts, styles, controls, pageMergeBorder, rptMergeBorder, offsetX, offsetY) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let rst = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let style = styles[cell[JV.PROP_STYLE]]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -52,22 +62,30 @@ function buildCellSvg(cell, fonts, styles, controls, pageMergeBorder, rptMergeBo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         text_anchor = "start" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (style) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (style[JV.PROP_LEFT] && parseFloat(style[JV.PROP_LEFT][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let leftBS = getActualBorderStyle(cell, styles, mergeBandStyle, (pageMergeBorder)?pageMergeBorder:rptMergeBorder[JV.PROP_AREA], JV.PROP_LEFT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (style[JV.PROP_LEFT] && parseFloat(style[JV.PROP_LEFT][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (leftBS && parseFloat(leftBS[JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rst.push("<line x1='" + left + "' y1='" + top + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' x2='" + left + "' y2='" + bottom + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' style='stroke:rgb(0,0,0);stroke-width:1'/>") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (style[JV.PROP_RIGHT] && parseFloat(style[JV.PROP_RIGHT][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let rightBS = getActualBorderStyle(cell, styles, mergeBandStyle, (pageMergeBorder)?pageMergeBorder:rptMergeBorder[JV.PROP_AREA], JV.PROP_RIGHT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (style[JV.PROP_RIGHT] && parseFloat(style[JV.PROP_RIGHT][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (rightBS && parseFloat(rightBS[JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rst.push("<line x1='" + right + "' y1='" + top + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' x2='" + right + "' y2='" + bottom + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' style='stroke:rgb(0,0,0);stroke-width:1'/>") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (style[JV.PROP_TOP] && parseFloat(style[JV.PROP_TOP][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let topBS = getActualBorderStyle(cell, styles, mergeBandStyle, (pageMergeBorder)?pageMergeBorder:rptMergeBorder[JV.PROP_AREA], JV.PROP_TOP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (style[JV.PROP_TOP] && parseFloat(style[JV.PROP_TOP][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (topBS && parseFloat(topBS[JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rst.push("<line x1='" + left + "' y1='" + top + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' x2='" + right + "' y2='" + top + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' style='stroke:rgb(0,0,0);stroke-width:1'/>") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (style[JV.PROP_BOTTOM] && parseFloat(style[JV.PROP_BOTTOM][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let bottomBS = getActualBorderStyle(cell, styles, mergeBandStyle, (pageMergeBorder)?pageMergeBorder:rptMergeBorder[JV.PROP_AREA], JV.PROP_BOTTOM); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (style[JV.PROP_BOTTOM] && parseFloat(style[JV.PROP_BOTTOM][JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (bottomBS && parseFloat(bottomBS[JV.PROP_LINE_WEIGHT]) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rst.push("<line x1='" + left + "' y1='" + bottom + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' x2='" + right + "' y2='" + bottom + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "' style='stroke:rgb(0,0,0);stroke-width:1'/>") 
			 |