2015-04-06 189 views

回答

14

在找這個,我發現這一點:

http://oss.sheetjs.com/js-xls/(XLS文件,你想要的東西)

http://oss.sheetjs.com/js-xlsx/(XLSX/XLSM/XLSB文件)

純JS實現基本的解析器

我正在提供參考How to parse Excel file in Javascript/HTML5

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

希望這可能會有所幫助。

+0

我得到的錯誤,當我運行的頁面「的index.html: 125未捕獲的DOMException:無法構造'Worker':'file:/// D:/HealthCare%20AngularJS/excel%20upload/js-xlsx-master/xlsxworker2.js'中的腳本無法從原始'null'訪問 在xw_xfer(文件:/// D:/ HealthCare%20AngularJS/excel%20upload/js-xlsx-master/index.html:125:15) at xw(file:/// D:/HealthCare%20AngularJS/excel%20upload/js-xlsx-master/index.html:143: 19) at FileReader.reader.onload(file:/// D:/HealthCare%20AngularJS/excel%20upload/js-xlsx-master/index.html:292:5)「 – Vinoth 2017-05-22 08:05:58

2

https://github.com/SheetJS/js-xlsx這次是更好的liabrary。但在我的方式文件xlsx - 沒有閱讀,並且文件比2003年的Excel版本也有問題。但在官方文檔編寫,然後支持。但也許只是我有這個麻煩。 我也用這個功能對於GET JSON從Excel:

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

3

使用此代碼讀取

<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> 
相關問題