简体   繁体   English

在javascript中读取本地xls / xlsx文件

[英]Read local xls/xlsx file in javascript

我们可以在angularjs / Javascript中读取大型本地xls / xlsx文件而不使用任何liabrary,如果不是那么哪个是最合适的库?

While looking for this I found this: 在寻找这个时我发现了这个:

Basic parsers implemented in pure JS: 在纯JS中实现的基本解析器:

http://oss.sheetjs.com/js-xls/ (XLS files, what you wanted) http://oss.sheetjs.com/js-xls/(XLS文件,你想要的)

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

I'm providing the reference How to parse Excel file in Javascript/HTML5 我正在提供如何在Javascript / HTML5中解析Excel文件的参考

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

Hope this could be helpful. 希望这可能会有所帮助。

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>

https://github.com/SheetJS/js-xlsx is better liabrary at this time. https://github.com/SheetJS/js-xlsx目前是更好的liabrary。 But in my way files xlsx - are not reading, and files older then 2003 version of Excel also has trouble. 但在我的方式文件xlsx - 不读取,2003年版本的Excel之前的文件也有问题。 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: 我还使用此功能从excel获取json:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM