我正在使用 Google App Scripts 内置函数 UrlFetchApp.fetch 来从 URL 请求数据。当您在浏览器中导航到此 URL 时,它只会启动 XLSX 文件的文件下载。如果我 console.log 响应,它只是一串乱码数据。如何将表示此 XLSX 文件内容的字符串解析为 JSON 数组?
我无法将此文件保存到驱动器并重新读取它,我正在寻找一种在 App Script 中直接解析响应字符串的方法。以下代码使用 xlsx.full.min.js 库。我收到错误“解析过程中出错:不支持的 ZIP 压缩方法 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);
}
}