diff --git a/xlsx.js b/xlsx.js index ee626c3..294d37a 100644 --- a/xlsx.js +++ b/xlsx.js @@ -162,8 +162,8 @@ function parseProps(data) { if(cur && cur.length > 0) q[f] = cur[1]; }); - p["Worksheets"] = parseInt(q["HeadingPairs"].match(new RegExp("(.*)<\/vt:i4>"))[1], 10); - p["SheetNames"] = q["TitlesOfParts"].match(new RegExp("([^<]*)<\/vt:lpstr>","g")).map(function(x){return x.match(new RegExp("([^<]*)<\/vt:lpstr>"))[1];}); + if(q["HeadingPairs"]) p["Worksheets"] = parseInt(q["HeadingPairs"].match(new RegExp("(.*)<\/vt:i4>"))[1], 10); + if(q["TitlesOfParts"]) p["SheetNames"] = q["TitlesOfParts"].match(new RegExp("([^<]*)<\/vt:lpstr>","g")).map(function(x){return x.match(new RegExp("([^<]*)<\/vt:lpstr>"))[1];}); p["Creator"] = q["dc:creator"]; p["LastModifiedBy"] = q["cp:lastModifiedBy"]; p["CreatedDate"] = new Date(q["dcterms:created"]); @@ -222,7 +222,7 @@ function parseWB(data) { case '': delete y[0]; wb.WBProps = y; break; @@ -231,6 +231,7 @@ function parseWB(data) { case '': case '': break; // aggregate sheet case '': case '': break; + case '': break; // LibreOffice case '': break; case '': delete y[0]; wb.CalcPr = y; break;