更改工作表时会触发此功能。
function exportAsxlsx() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = spreadsheet.getId()
var file = Drive.Files.get(spreadsheetId);
var url = file.exportLinks[MimeType.MICROSOFT_EXCEL];
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
});
var blobs = response.getBlob();
var folder = DriveApp.getFoldersByName('\\GBC1234.fs1.util.xxint.com\Shared\Projects\Test_Google2Excel');
if(folder.hasNext()) {
var existingPlan1 = DriveApp.getFilesByName('TestGoogle2Excel.xlsx');
if(existingPlan1.hasNext()){
var existingPlan2 = existingPlan1.next();
var existingPlanID = existingPlan2.getId();
Drive.Files.remove(existingPlanID);
}
} else {
folder = DriveApp.createFolder('\\GBC1234.fs1.util.xxint.com\Shared\Projects\Test_Google2Excel');
}
folder = DriveApp.getFoldersByName('\\GBC1234.fs1.util.xxint.com\Shared\Projects\Test_Google2Excel').next();
folder.createFile(blobs).setName('TestGoogle2Excel.xlsx')
}
它会使Google驱动器中的目录“\ GBC1234.fs1.util.xxint.com \ Shared \ Projects \ Test_Google2Excel”将文件保存在那里。
如何将其保存到公司的驱动器中?
答案 0 :(得分:0)
您需要拥有一个本地托管的“客户端”,将所述文件从已知的驱动器位置下载到网络。
一旦您开始考虑这个问题,客户端就可以与您描述的工作流程中的许多点进行交互。
即。 1.如上所述,民意调查google驱动器以查看输出xlsx是否已创建并下载。驱动API 2.轮询驱动器本身的工作表,然后触发应用程序脚本执行转换。 Apps Script Execution API 3.完全删除它们并直接与工作表交互。表格API
在每种情况下,您都希望缓存原始工作表数据的校验和,以便只有在事情发生变化时才会执行操作。 (有很多方法可以做到这一点)