将xlsx转换为keyed json

时间:2016-08-04 05:30:07

标签: json xlsx

我想将excel .xlsx文件中的数据转换为键控JSON结构。

这是我的.xlsx文件中的数据示例:

enter image description here

我希望它能像这样出现:

{
   "Tom": {
      "Gender": "M",
      "Mobile": 6154234123
   },
   "Harry": {
      "Gender": "M",
      "Mobile": 6243622345
   },
   "Jane": {
      "Gender": "F",
      "Mobile": 6134513245
   },
   "Mary": {
      "Gender": "F",
      "Mobile": 6928341234
   }
}

我正在做一个Web应用程序,用户浏览他们的excel文件,它将输出上面的键控json。 我尝试过使用SheetJS,但它只是作为非键控JSON结构出现的。

function handleFile(e) {
  var files = e.target.files;
  var i,f;
  for (i = 0, f = files[i]; i != files.length; ++i) {
    var reader = new FileReader();
    var name = f.name;
    reader.onload = function(e) {
      var data = e.target.result;

      var workbook = XLSX.read(data, {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(JSON.stringify(XLSX.utils.sheet_to_json(worksheet, {range:"A1:C5"})));

    };
  reader.readAsBinaryString(f);
  }
}
input_dom_element.addEventListener('change', handleFile, false);

0 个答案:

没有答案