How do I import multiple excel files and retrieve cell references from each of them

Using SheetJS I was able to upload an excel file and retrieve the user specified cell references.
In below example the user enters some cell references (comma seperated) like (B7,B11,C3).
The values of all there references will then be displayed in an DIV.

I’d like however to be able to upload multiple files at once.
The filereader nevertheless only accepts one file at the time.

The filereader is new to me and am not sure how to make it work to accept multiple files and loop through them.

JSFiddle

var rABS = true;

function handleFile(e) {
  var files = e.target.files,
    f = files[0];
  var reader = new FileReader();
  reader.onload = function(e) {
    var data = e.target.result;
    if (!rABS) data = new Uint8Array(data);
    var workbook = XLSX.read(data, {
      type: rABS ? "binary" : "array"
    });

    // ==============
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
    var container = document.getElementById("htmlout");
    
      var first_sheet_name = workbook.SheetNames[0];
      var cell_reference = $(".cell-references").val();
      var address_of_cell = cell_reference;
      var f_arr = cell_reference.split(',');
      var worksheet = workbook.Sheets[first_sheet_name];

      for (var j = 0; j <= f_arr.length - 1; j++) {
        var desired_cell = worksheet[f_arr[j]];
        var desired_value = (desired_cell ? desired_cell.v : undefined);
        container.innerHTML = container.innerHTML + '<br>' + desired_value;
      };

    // ===========================================================


  };
  if (rABS) reader.readAsBinaryString(f);
  else reader.readAsArrayBuffer(f);
}

$(document).ready(function() {
  $("#files").change(handleFile);
});

While I’m no expert on reading files, this tutorial on Reading files in JavaScript using the File APIs provides details on managing multiple files.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.