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.
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);
});