在javascript中读取本地xls/xlsx文件
问题描述:
我们可以在不使用任何liabrary的情况下读取angularjs/Javascript中的大型本地xls/xlsx文件,如果不是,那么哪个库最适合?在javascript中读取本地xls/xlsx文件
答
在找这个,我发现这一点:
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
希望这可能会有所帮助。
答
https://github.com/SheetJS/js-xlsx这次是更好的liabrary。但在我的方式文件xlsx - 没有阅读,并且文件比2003年的Excel版本也有问题。但在官方文档编写,然后支持。但也许只是我有这个麻烦。 我也用这个功能对于GET JSON从Excel:
var roa = XLSX.utils.sheet_to_row_object_array(worksheet);
答
使用此代码读取
<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>
我得到的错误,当我运行的页面“的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