一尘不染

如何用Javascript / HTML5解析Excel文件

javascript

我能够通过读取Excel文件,FileReader但它会输出文本以及奇怪的字符。我需要按xls行读取文件,读取每一列中的数据并将其转换为JSON。

如何逐行读取xls文件?


阅读 670

收藏
2020-05-01

共1个答案

一尘不染

函数下方将Excel工作表(XLSX格式)数据转换为JSON。您可以向函数添加promise。

<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
<script>
var ExcelToJSON = function() {

  this.parseExcel = function(file) {
    var reader = new FileReader();

    reader.onload = function(e) {
      var data = e.target.result;
      var workbook = XLSX.read(data, {
        type: 'binary'
      });

      workbook.SheetNames.forEach(function(sheetName) {
        // Here is your object
        var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
        var json_object = JSON.stringify(XL_row_object);
        console.log(json_object);

      })

    };

    reader.onerror = function(ex) {
      console.log(ex);
    };

    reader.readAsBinaryString(file);
  };
};
</script>
2020-05-01