【问题标题】:Read local xls/xlsx file in javascript [closed]在javascript中读取本地xls/xlsx文件[关闭]
【发布时间】:2015-06-10 12:50:51
【问题描述】:

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

【问题讨论】:

    标签: javascript angularjs xls xlsx


    【解决方案1】:

    使用此代码阅读

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

    【讨论】:

    • 你从哪里得到 XLSX 对象?这是图书馆吗?如果是这样,您能否更新您的帖子以显示它是什么,以及您从哪里得到它?了解您如何将其包含在此代码块中也会很有帮助。谢谢!
    【解决方案2】:

    https://github.com/SheetJS/js-xlsx 在这个时候是更好的图书馆。但是以我的方式文件 xlsx - 没有读取,并且比 2003 版本的 Excel 更早的文件也有问题。但是在官方文档中,它是受支持的。但也许只是我有这个麻烦。 我也使用此功能从 excel 中获取 json:

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

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 2012-06-16
      • 1970-01-01
      • 2015-06-06
      • 2022-11-17
      • 2016-08-31
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      相关资源
      最近更新 更多