google-apps-script - 如何下载表格文件,然后以 .XLSX 格式将其发送到服务器?
问题描述
我有一个包含我的文件的驱动器,并希望将它们发送到我的服务器进行备份。我想将所有表格转换为 Excel 格式 (.xlsx)。所以,我选择我的文件,然后单击上传按钮,它转到 myfunction()。在 myfunction 中,我下载了 .xlsx 文件,然后将文本发送到我的服务器,但随后我尝试使用 Open Office 打开它,我收到一条错误消息,指出文件已损坏。(我在控制台中打印出 url,当我在浏览器中打开该 url 时,它可以正常工作)。我在脚本中下载文件,以便确保它打开,因为在我的服务器上离线这样做可能无法打开它,因为它没有适当的权限。
function myfunction(file, ext){
var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + file.getId() + "&exportFormat=xlsx";
var params = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions: true
};
console.log("url: "+url);
var txt = UrlFetchApp.fetch(url, params).getContentText();
var options = {
'method': 'POST',
'payload': {
file: file.getName() + '.xlsx',
file_body: txt,
},
};
var response = UrlFetchApp.fetch('https://example.com', options).getContentText();
console.log("upload response: "+response);
}
我究竟做错了什么?此外,我担心团队驱动器上或共享的表格,并希望确保我也可以下载这些表格。
编辑:我也尝试过,getAs(contentType)
但不幸的是,它告诉我我只能将其下载为 PDF。
解决方案
推荐阅读
- vb.net - 欢迎。你能给我一个代码,如果它没有通过本地网络连接到数据库,它会给我一个错误消息
- javascript - 范围选择器日期在 Highcharts.Chart() 中始终为 1970-01-01
- angular - 如何在 Html angular5 中连接两个数组
- mysql - 用于选择没有与输入日期关联的预订的房间的 SQL 查询
- symfony - Symfony .env 生产模式下的安全密码
- c# - ASP.NET Core 自定义标签助手不起作用
- google-app-engine - Google AppEngine Standard 是否支持 java CDI?
- kubernetes - 对 kubernetes 上的 ravendb 部署进行故障排除
- python - 添加不同形状的numpy数组
- javascript - 带有映射的javascript中特定格式的数组显示