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

时间:2015-04-06 05:42:10

标签: javascript angularjs xls xlsx

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

3 个答案:

答案 0 :(得分:16)

在寻找这个时,我发现了这个:

在纯JS中实现的基本解析器:

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

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

我正在提供参考How to parse Excel file in Javascript/HTML5

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

希望这可能有所帮助。

答案 1 :(得分:3)

使用此代码阅读

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

答案 2 :(得分:2)

https://github.com/SheetJS/js-xlsx此时更好。但在我的方式文件xlsx - 不读取,2003年版本的Excel之前的文件也有问题。但是在官方文档中写道然后才支持它。但也许只是我有这个麻烦。 我还使用此功能从excel获取json:

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