Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何在Google Apps脚本中创建文件上载提示_User Interface_Google Apps Script - Fatal编程技术网

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对话框,我会在这里发布我所做的。