web-dev-qa-db-fra.com

Lire le fichier xls / xlsx local en javascript

Pouvons-nous lire un grand fichier local xls/xlsx dans angularjs/Javascript sans utiliser de bibliothèque, sinon quelle est la bibliothèque la plus appropriée?

7
Tushar Thakur

En cherchant cela, j'ai trouvé ceci:

Analyseurs de base implémentés en JS pur:

http://oss.sheetjs.com/js-xls/ (fichiers XLS, ce que vous vouliez)

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

Je fournis la référence Comment analyser un fichier Excel en Javascript/HTML5

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

J'espère que cela pourrait être utile.

16
Reena

utilisez ce code pour lire

 <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>
3
Vinoth

https://github.com/SheetJS/js-xlsx est une meilleure bibliothèque pour le moment. Mais à ma façon, les fichiers xlsx - ne sont pas en cours de lecture, et les fichiers antérieurs à la version 2003 d'Excel ont également des problèmes. Mais dans les documents officiels, il est pris en charge. Mais peut-être que j'ai juste ce problème. J'utilise également cette fonctionnalité pour obtenir json d'Excel:

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