User interface 如何在Google Apps脚本中创建文件上载提示
我有以下用例: 我创建了一个电子表格,我试图在其中创建一个菜单项,让用户上传一个文本文件,从中处理并创建一个新的工作表 此文本文件的行具有以下格式:User interface 如何在Google Apps脚本中创建文件上载提示,user-interface,google-apps-script,User Interface,Google Apps Script,我有以下用例: 我创建了一个电子表格,我试图在其中创建一个菜单项,让用户上传一个文本文件,从中处理并创建一个新的工作表 此文本文件的行具有以下格式: [complexity] [package] [funcName] [absolutePathname] 什么是“过程”? 通过“处理文件”,我的意思是,在不上传到驱动器的情况下获取其内容,最好是作为BLOB或类似的内容(该项目是为我的雇主提供的,他给了我其他主要任务,他也有一个共享的团队驱动器),将每行数据转换为以下格式: [package]/
[complexity] [package] [funcName] [absolutePathname]
什么是“过程”?
通过“处理文件”,我的意思是,在不上传到驱动器的情况下获取其内容,最好是作为BLOB或类似的内容(该项目是为我的雇主提供的,他给了我其他主要任务,他也有一个共享的团队驱动器),将每行数据转换为以下格式:
[package]/[filename] [complexity]
问题
我已经有了自己的算法来将字符串行转换成这种格式,但是首先,我需要知道如何上传文件
似乎我在上传文件时能找到的所有东西都过时了。例如,正在使用各种Google API函数
用户故事
作为电子表格用户,
当我点击自定义菜单项上传文件时
应出现文件上载提示
我所知道的最贴切的事情就是行动起来
SpreadsheetApp.getUi()
返回一个。但是,这里没有任何东西可以轻松创建文件上载提示。这些都不是用于文件上传的。您需要展示您制作的UI 正如对您的问题的评论,您可以将传统的HTML表单与客户端脚本结合使用,然后再使用服务器端脚本 或者,您可以利用。上传后,该文件将在Google Drive中,您可以处理、删除和/或存储源和结果。这带来了与Google Sheets的UI一致性,以及某种程度的错误处理/审核
任何一个UI都可以作为菜单命令的模式,也可以从侧边栏触发它。我必须这样做吗?如果是这样,如何从中获取表单输出?表单提交会触发服务器代码中的
doPost()
函数。或者,您可以使用google.script.run
阻止表单提交并运行自己的服务器代码。这是一个完全重复的,如果代码在SO中。这个答案是有效的,只有当要上传的文件存储在谷歌的服务器/驱动器上。OP没有发表这样的声明,这很公平。我已经澄清了区别。在生命周期的这个阶段,我会满足于上传到驱动器,只要我有办法在完成时删除它。更新:我找到了一种方法“上传”文本文件,从服务器端获取其内容,而不必在谷歌驱动器中创建文件。一旦我有了一个完整的UI对话框,我会在这里发布我所做的。