我们能否在不使用任何库的情况下,在angularjs / Javascript中读取大型本地xls / xlsx文件?如果不能,那么哪个库最适合?
我们能否在不使用任何库的情况下,在angularjs / Javascript中读取大型本地xls / xlsx文件?如果不能,那么哪个库最适合?
<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>
https://github.com/SheetJS/js-xlsx 目前是更好的库。但是在我的使用中,xlsx文件无法读取,而且早于2003年版本的Excel文件也有问题。但是在官方文档中写道,它是支持的。但可能只是我遇到了这个问题。 我还使用此功能从Excel获取json:
var roa = XLSX.utils.sheet_to_row_object_array(worksheet);