diff --git a/xlsx.js b/xlsx.js index c29f5ce..1f9ac9d 100644 --- a/xlsx.js +++ b/xlsx.js @@ -1314,8 +1314,14 @@ function getdata(data) { function safegetzipfile(zip, file) { var f = file; if(zip.files[f]) return zip.files[f]; - f = file.toLowerCase(); if(zip.files[f]) return zip.files[f]; - f = f.replace(/\//g,'\\'); if(zip.files[f]) return zip.files[f]; + + var lowerCaseFiles = {}; + for (var key in zip.files) { + lowerCaseFiles[key.toLowerCase()] = zip.files[key]; + } + + f = file.toLowerCase(); if(lowerCaseFiles[f]) return lowerCaseFiles[f]; + f = f.replace(/\//g,'\\'); if(lowerCaseFiles[f]) return lowerCaseFiles[f]; return null; }