我在 Google 表格上有一個包含一些資料的電子表格。我已將其公開發布,以便我可以.xlsx使用 URL 將資料下載為檔案。我想要做的是Node中的以下內容:
- 從 URL 下載檔案
- 將內容準備為 ArrayBuffer
- 使用 SheetJS 閱讀
以下是該檔案的 URL:Google 表格鏈接。
通過 SheetJS 庫,我知道我需要使用XLSX.read(data, opts),但我似乎無法弄清楚如何準確地做到這一點。到目前為止,我有以下代碼:
var https = require('https');
var fs = require('fs');
var XLSX = require("xlsx");
var fileURL = "https://docs.google.com/spreadsheets/d/e/2PACX-1vR9jv7gj6o0dtL0QoeHxW7Ux2fk0Br6slV3mg-uzZY6hc17Zw-_cXRz0-pilCeZx_lDzaRAo0tNfueT/pub?output=xlsx"
// Somehow use the url to read the file using XLSX.read(data, opts) and store it in a variable called workbook
var sheet1 = workbook.Sheets[workbook.SheetNames[0]]
var sheet2 = workbook.Sheets[workbook.SheetNames[1]]
console.log(XLSX.utils.sheet_to_json(sheet1));
console.log(XLSX.utils.sheet_to_json(sheet2));
我該怎么做?我可以在本地完美地處理檔案,但是使用 URL 方法,我很迷茫。任何幫助表示贊賞!
uj5u.com熱心網友回復:
在您的情況下,如何進行以下修改?
修改后的腳本:
const request = require("request");
const XLSX = require("xlsx");
const fileURL =
"https://docs.google.com/spreadsheets/d/e/2PACX-1vR9jv7gj6o0dtL0QoeHxW7Ux2fk0Br6slV3mg-uzZY6hc17Zw-_cXRz0-pilCeZx_lDzaRAo0tNfueT/pub?output=xlsx";
request.get(fileURL, { encoding: null }, function (err, res, data) {
if (err || res.statusCode != 200) {
console.log(res.statusCode);
return;
}
const buf = Buffer.from(data);
const workbook = XLSX.read(buf);
var sheet1 = workbook.Sheets[workbook.SheetNames[0]];
var sheet2 = workbook.Sheets[workbook.SheetNames[1]];
console.log(XLSX.utils.sheet_to_json(sheet1));
console.log(XLSX.utils.sheet_to_json(sheet2));
});
- 在此修改中,
request使用了模塊。
結果:
運行此腳本時,將獲得以下結果。
[
{ Team: 'Manchester United' },
{ Team: 'PSG' },
{ Team: 'Barcelona' },
{ Team: 'Real Madrid' },
{ Team: 'Juventus' }
]
[
{ Name: 'Ronaldo', Age: 37 },
{ Name: 'Messi', Age: 34 },
{ Name: 'Neymar', Age: 30 }
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438815.html
標籤:javascript 节点.js 谷歌表格 sheetjs
上一篇:如何正確地將.YAML檔案轉換為GoogleSheet表格?.YAML檔案不支持匯入并且在線轉換器不起作用
下一篇:無法使用此腳本在日歷上創建事件
