gpt4 book ai didi

google-apps-script - 如何将 Google 表格文件转换为 Excel 文件 (XLSX)

转载 作者:行者123 更新时间:2023-12-02 09:05:19 29 4
gpt4 key购买 nike

该图像显示了更新的代码。 1

var“xlsFile”未定义,为什么?如何使用 (Google Sheets) 脚本编辑器将 Google Sheets 文件转换为 Excel 文件

function googleOAuth_ (name, scope) {
var oAuthConfig = UrlFetchApp.addOAuthService(name);
oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken? scope="+scope);
oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oAuthConfig.setConsumerKey('anonymous');
oAuthConfig.setConsumerSecret('anonymous');
return {oAuthServiceName:name, oAuthUseToken:"always"};
}

function test(){
var id = '#'
exportToXls(id)
}

function exportToXls(id){
var mute = {muteHttpExceptions: true };
var name = DriveApp.getFileById(id).getName()
var url = 'https://docs.google.com/feeds/';
var doc = UrlFetchApp.fetch(url+'download/spreadsheets/Export?key='+id+'&exportFormat=xls', mute).getBlob()
var xlsfile = DocsList.createFile(doc).rename(name+'.xlsx')
}

最佳答案

使用 Drive API,我们可以获得比通过 DriveApp 方法获得的更多有关文件的信息。查看file data ,尤其是 exportLinks。这些链接包含让我们获得 XLS 文件的魔力。 (为了好玩,可以在分配 file 之后放置一个断点,并检查您需要使用哪些信息。)

此脚本使用 Advanced Drive Service ,其中must be enabled 。具有错误检查功能的更完整版本可在 this gist 中找到。 .

/**
* Downloads spreadsheet with given file id as an Excel file.
* Uses Advanced Drive Service, which must be enabled. * Throws if error encountered.
*
* @param {String} fileId File ID of Sheets file on Drive.
*/
function downloadXLS(fileId) {
var file = Drive.Files.get(fileId);
var url = file.exportLinks[MimeType.MICROSOFT_EXCEL];

var options = {
headers: {
Authorization:"Bearer "+ScriptApp.getOAuthToken()
},
muteHttpExceptions : true /// Get failure results
}

var response = UrlFetchApp.fetch(url, options);
var status = response.getResponseCode();
var result = response.getContentText();
if (status != 200) {
// Get additional error message info, depending on format
if (result.toUpperCase().indexOf("<HTML") !== -1) {
var message = strip_tags(result);
}
else if (result.indexOf('errors') != -1) {
message = JSON.parse(result).error.message;
}
throw new Error('Error (' + status + ") " + message );
}

var doc = response.getBlob();
//DocsList.createFile(doc).rename(file.title + '.xlsx') // Deprecated
DriveApp.createFile(doc).setName(file.title + '.xlsx');
}

关于google-apps-script - 如何将 Google 表格文件转换为 Excel 文件 (XLSX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277058/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com