javascript – Pegar dados de um arquivo xlsx


Estou tentando fazer um código que leia os dados de um arquivo excel e escreva-os no console. Para isso estou usando o SheetJS mas estou tendo um problema. Toda vez o meu código retorna “Undefined” no meu console, a menos que eu coloque o console.log dentro do onreadystatechange, mas de forma alguma esta arrow function me retorna os dados do arquivo xlsx. Oque estou errando?

var pega_dados_excel = () => {
    var softwares_instalados;

    var url = "test.xlsx"; // Inserir o nome do Arquivo excel(xls ou xlsx)

    var req = new XMLHttpRequest(); // Inicia a requisição
    req.open("GET", url, true);
    req.responseType = "arraybuffer";
    
    req.onreadystatechange = function(){
        var data = new Uint8Array(req.response);
        var workbook = XLSX.read(data, { type: "array" });
        var first_sheet_name = workbook.SheetNames(0);
        var worksheet = workbook.Sheets(first_sheet_name);
        
        softwares_instalados = (XLSX.utils.sheet_to_json(worksheet));
    }

    req.send();

    return softwares_instalados;
}

$(document).ready(function () {
    console.log(pega_dados_excel());
});