Google apps script 在单个单元格中有效地显示数据块
在单行中包含大量可读数据(带换行符)而不使该行的高度增加以适应数据的最佳方式是什么。例如,如果我想通过单击GPA单元格查看完整的成绩单:Google apps script 在单个单元格中有效地显示数据块,google-apps-script,google-sheets,google-sheets-query,Google Apps Script,Google Sheets,Google Sheets Query,在单行中包含大量可读数据(带换行符)而不使该行的高度增加以适应数据的最佳方式是什么。例如,如果我想通过单击GPA单元格查看完整的成绩单: 行: 名称GPA#AP等级 马卡伊拉4.0 3 10 成绩单 2014-2015——代数1:A、英语9:A、体育9:F、历史A、西班牙语1:C、物理C 2015-2016——几何A、英语10:A、音乐B、历史A、西班牙语2:C、化学C 2016-2017——代数1:A,英语1:A,音乐1:A,历史1:A,西班牙语3:C,生物学3:C -- 详细说明: 我们
行:
名称GPA#AP等级
马卡伊拉4.0 3 10
成绩单
2014-2015——代数1:A、英语9:A、体育9:F、历史A、西班牙语1:C、物理C
2015-2016——几何A、英语10:A、音乐B、历史A、西班牙语2:C、化学C
2016-2017——代数1:A,英语1:A,音乐1:A,历史1:A,西班牙语3:C,生物学3:C
--
详细说明:
我们正在改进选择AP课程学生的流程。我们提供20个AP课程,每个课程都有一个电子表格,每个表格中有50-200名学生的偏好。这些学生都是从该校约500名即将入学的大三和大四学生中挑选出来的。每位AP教师负责检查对其课程感兴趣的学生名单,并选择最终进入课程的学生。学生的数据分布在多个电子表格中。如果将数据包含在一个电子表格中,效率会高得多。构建完成大部分任务的摘要函数是很简单的,但有时在查看特定学生时,如果有一种方法可以查看详细信息而不丢失电子表格中的上下文,那就更好了。举个例子,如果你看一个学生的平均成绩,你想看看他们在数学课上的表现。我想到了两种方法:
1.创建一个脚本,用包含学生完整成绩单的便笺(使用setNote)填充gpa单元格。
2.在gpa单元格旁边的单元格中创建一个链接,以某种方式提供学生成绩单的视图,而不会导致读者失去在原始工作表中的位置,可能是通过将另一个浏览器选项卡上的工作表中的焦点更改为相关学生。我能够创建一个包含stu数据的html弹出窗口。并从绘图按钮或菜单项调用该函数
函数stuData(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
var activeCell=ss.getActiveRange().getRow();
Logger.log(activeCell);
var stuName=sheet.getRange(activeCell,1.getValue();
var GPA=sheet.getRange(activeCell,2.getValue();
var AP=sheet.getRange(activeCell,3.getValue();
var grade=sheet.getRange(activeCell,4.getValue();
var t16=sheet.getRange(activeCell,5.getValue();
var t17=sheet.getRange(activeCell,6.getValue();
var t18=sheet.getRange(activeCell,7.getValue();
var htmlApp=HtmlService
.createHtmlOutput('Student Name:'+stuName+'
GPA:'+GPA+'
AP:'+AP+'
Grade:'+Grade+'
成绩单-:'+t16+'
成绩单-:'+t17+'
成绩单-:'+t18)
.setTitle(stuName)
.setWidth(750)
.设置高度(220);
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
}
这是不可能的。显示的行高不能小于内容的高度。您可以手动或在代码中设置行高,但它不会起任何作用。如果删除内容,则行将返回默认值,但只要内容高于行高度,行将始终调整以显示整个高度。宽度不同。可以“剪裁”宽度,但不能“剪裁”高度。这样设置有点愚蠢,但事实就是这样。我投票决定结束你的问题,因为你的问题“过于宽泛”。一个“好”的问题包括代码,并展示了你的尝试。但别难过,我在评论部分回答了问题,这违反了规则,我不应该这样做。我这样做的部分原因是评论不能被否决。欢迎使用堆栈溢出。感谢您的帮助!您是说Excel创建链接到另一个电子表格中给定单元格的超链接的想法是不可能的?我一直在尝试的方法是在给定列的每一行中创建一个注释。我发现addNote不能在单元格的上下文中工作,所以我开始编写代码,在菜单上下文中运行,并使用addNotes一次添加所有注释。但我担心这是对notes概念的滥用,还有更好的方法。我想在我陷入草丛并太执着于我的方法之前问一下。函数等级显示(sid){var ss=SpreadsheetApp.getActiveSpreadsheet();var cell=ss.getActiveCell();cell.setNote(“学生:+sid+”\\nTranscript:+transcript”);脚本可以为列中的每个单元格添加按钮吗?看起来这是不可能的:另一种方法是要求每个教师使用菜单中的调用,这可能是禁止的。在教师使用电子表格为列中的任何单元格添加注释之前,添加我可以运行的菜单函数是一种好方法吗GPA列?这将允许教师只需单击学生的GPA,即可看到一个包含完整成绩单的便笺弹出窗口。在上面的示例中,您选择该学生并按下“学生数据”按钮-然后为所选学生显示弹出窗口-我想我看到了。我有一个按钮位于冻结标题行的某个位置,即标签类似于“查看成绩单”并链接到您的代码。用户体验是在他们正在考虑的学生所在行的一个单元格中,单击按钮并获取该学生的成绩单。非常酷!我肯定不知道如何正确使用这样的按钮,谢谢!肯定。我现在取得了很好的进展。我完成后将添加我的代码。我将向上投票d你的答案。上面说不会出现,因为我太新了。我想这个问题在这一点上已经完全回答了。非常感谢。@eric除了投票支持Oblongmyla的答案外,你还可以回答它