forked from sheetjs/sheetjs
		
	empty row parsing (fixes #1413) [ci skip]
This commit is contained in:
		
							parent
							
								
									a4ee0ef05a
								
							
						
					
					
						commit
						88e662af99
					
				| @ -326,8 +326,26 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th | ||||
| 		if(xlen === 0) continue; | ||||
| 
 | ||||
| 		/* 18.3.1.73 row CT_Row */ | ||||
| 		for(ri = 0; ri < xlen; ++ri) if(x.charCodeAt(ri) === 62) break; ++ri; | ||||
| 		tag = parsexmltag(x.slice(0,ri), true); | ||||
| 		var rstarti = 0; | ||||
| 		outa: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) { | ||||
| 			case ">" /*62*/: | ||||
| 				if(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != "/") { ++ri; break outa; } | ||||
| 				if(opts && opts.cellStyles) { | ||||
| 					// TODO: avoid duplication
 | ||||
| 					tag = parsexmltag(x.slice(rstarti,ri), true); | ||||
| 					tagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1; | ||||
| 					if(opts.sheetRows && opts.sheetRows < tagr) continue; | ||||
| 					rowobj = {}; rowrite = false; | ||||
| 					if(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); } | ||||
| 					if(tag.hidden == "1") { rowrite = true; rowobj.hidden = true; } | ||||
| 					if(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; } | ||||
| 					if(rowrite) rows[tagr-1] = rowobj; | ||||
| 				} | ||||
| 				break; | ||||
| 			case "<" /*60*/: rstarti = ri; break; | ||||
| 		} | ||||
| 		if(rstarti >= ri) break; | ||||
| 		tag = parsexmltag(x.slice(rstarti,ri), true); | ||||
| 		tagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1; | ||||
| 		if(opts.sheetRows && opts.sheetRows < tagr) continue; | ||||
| 		if(guess.s.r > tagr - 1) guess.s.r = tagr - 1; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user