Estou usando a função integrada do Google App Scripts, UrlFetchApp.fetch, para solicitar dados de uma URL. Quando você navega para essa URL no navegador, ele apenas inicia um download de arquivo de um arquivo XLSX. Se eu console.log a resposta, é apenas uma sequência de dados ilegíveis. Como posso analisar uma sequência de caracteres que representa o conteúdo deste arquivo XLSX em uma matriz JSON?
Não consigo salvar este arquivo no drive e lê-lo novamente, estou procurando uma maneira de analisar a sequência de resposta diretamente no App Script. O código a seguir usa a biblioteca xlsx.full.min.js. Recebo um erro "Erro durante a análise: Método de compactação ZIP não suportado NaN"
function parseExcelToJson() {
try {
// Step 1: Fetch the Excel file from the URL
const response = UrlFetchApp.fetch('https://www.nasdaqtrader.com/Content/ProductsServices/TRADING/TRF-Chicago-Test-Securities.xlsx');
// Step 2: Convert the response to a Blob (in memory)
const blob = response.getBlob();
// Step 3: Convert the Blob to a byte array (needed for xlsx.js)
const byteArray = blob.getBytes();
// Step 4: Use xlsx.js to parse the byte array
const data = XLSX.read(byteArray, { type: 'array' });
// Step 5: Access the first sheet
const sheet = data.Sheets[data.SheetNames[0]];
// Step 6: Convert the sheet to JSON format
const json = XLSX.utils.sheet_to_json(sheet);
// Step 7: Return the JSON result
return json;
} catch (e) {
// Log any errors during parsing
Logger.log("Error during parsing: " + e.message);
}
}