Javascript 在javascript中读取本地xls/xlsx文件
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29465930/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Read local xls/xlsx file in javascript
提问by Tushar Thakur
Can we read large local xls/xlsx file in angularjs/Javascript without using any liabrary, if not then which is most suitable library?
我们可以在不使用任何库的情况下在 angularjs/Javascript 中读取大型本地 xls/xlsx 文件,如果不是,那么哪个是最合适的库?
回答by Vinoth
use this code to read
使用此代码阅读
<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>
回答by Vitaliy Andrusishyn
https://github.com/SheetJS/js-xlsxis better liabrary at this time. But in my way files xlsx - are not reading, and files older then 2003 version of Excel also has trouble. But in official docs write then it is supported. But maybe just I have this trouble. I also use this feature for get json from excel:
https://github.com/SheetJS/js-xlsx 此时是更好的库。但是以我的方式文件 xlsx - 无法读取,并且 2003 版 Excel 之前的文件也有问题。但是在官方文档中写然后它被支持。但也许只是我有这个麻烦。我也使用此功能从 excel 获取 json:
var roa = XLSX.utils.sheet_to_row_object_array(worksheet);

