2015-04-06 19 views

risposta

14

Mentre alla ricerca di questo ho trovato questo:

parser di base implementata in JS puri:

http://oss.sheetjs.com/js-xls/ (file XLS, quello che si voleva)

http://oss.sheetjs.com/js-xlsx/ (/ XLSM/file XLSX xlsb)

che sto fornendo il riferimento How to parse Excel file in Javascript/HTML5

https://gist.github.com/psjinx/8002786

Spero che questo possa essere utile.

+0

ho ottenuto l'errore quando ho eseguito la pagina "index.html: 125 Domexception non rilevata: impossibile creare 'Worker': non è possibile accedere allo script 'null' allo script 'file: /// D: /HealthCare%20AngularJS/excel%20upload/js-xlsx-master/xlsxworker2.js'. ' a xw_xfer (file: /// D:/HealthCare% 20AngularJS/excel% 20upload/js-xlsx-master/index.html: 125: 15) in xw (file: /// D: /HealthCare%20AngularJS/excel%20upload/js-xlsx-master/index.html: 143: 19) in FileReader.reader.onload (file: /// D: /HealthCare%20AngularJS/excel%20upload/js-xlsx-master/index.html: 292: 5) " – Vinoth

2

https://github.com/SheetJS/js-xlsx in questo momento è migliore. Ma a mio modo i file xlsx - non stanno leggendo, e file più vecchi della versione 2003 di Excel ha anche problemi. Ma nei documenti ufficiali scrivi allora è supportato. Ma forse ho solo questo problema. Io uso anche questa funzione per ottenere JSON da Excel:

var roa = XLSX.utils.sheet_to_row_object_array(worksheet);

3

uso questo codice per leggere

<script> 
/* set up XMLHttpRequest */ 
var url = "test.xlsx"; 
var oReq = new XMLHttpRequest(); 
oReq.open("GET", url, true); 
oReq.responseType = "arraybuffer"; 

oReq.onload = function(e) { 
    var arraybuffer = oReq.response; 

    /* convert data to binary string */ 
    var data = new Uint8Array(arraybuffer); 
    var arr = new Array(); 
    for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); 
    var bstr = arr.join(""); 

    /* Call XLSX */ 
    var workbook = XLSX.read(bstr, {type:"binary"}); 

    /* DO SOMETHING WITH workbook HERE */ 
    var first_sheet_name = workbook.SheetNames[0]; 
    /* Get worksheet */ 
    var worksheet = workbook.Sheets[first_sheet_name]; 
    console.log(XLSX.utils.sheet_to_json(worksheet,{raw:true})); 
} 

oReq.send(); 
    </script>