diff --git a/xlsx.js b/xlsx.js index 0ebfa54..3134be9 100644 --- a/xlsx.js +++ b/xlsx.js @@ -102,12 +102,15 @@ function parseSheet(data) { //TODO: use a real xml parser //s.cells = {}; var q = ["v","f"]; if(!data.match(/<sheetData *\/>/)) - data.match(/<sheetData>(.*)<\/sheetData>/)[1].split("</row>").forEach(function(x) { if(x === "") return; + data.match(/<sheetData>(.*)<\/sheetData>/)[1].split("</row>").forEach(function(x) { + if(x === "") return; var row = parsexmltag(x.match(/<row[^>]*>/)[0]); //s.rows[row.r]=row.spans; if(refguess.s.r > row.r - 1) refguess.s.r = row.r - 1; if(refguess.e.r < row.r - 1) refguess.e.r = row.r - 1; - var cells = x.substr(x.indexOf('>')+1).split(/<\/c>|\/>/); + + var cells = x.substr(x.indexOf('>')+1).split(/<c/); cells.forEach(function(c, idx) { if(c === "") return; + c = "<c" + c; if(refguess.s.c > idx) refguess.s.c = idx; if(refguess.e.c < idx) refguess.e.c = idx; var cell = parsexmltag((c.match(/<c[^>]*>/)||[c])[0]); delete cell[0];