在单个单元格中有效地显示一大块数据
Effectively display a chunk of data in a single cell
在单行中包含大量可读数据(带换行符)而又不使该行的高度增长以适应数据的最佳方法是什么。例如,如果我想通过单击 GPA 单元格来查看完整成绩单:
排:
名称 GPA # AP 的等级
马凯拉 4.0 3 10</p>
<p>成绩单
2014-2015 -- 代数 1:A,英语 9:A,体育:F,历史:A,西班牙语 1:C,物理:C
2015-2016 -- 几何:A,英语 10:A,音乐:B,历史:A,西班牙语 2:C,化学:C
2016-2017 -- 代数 1:A,英语:A,音乐:A,历史:A,西班牙语 3:C,生物学:C
--
详细说明:
我们正在改进我们用于选择 AP classes 学生的过程。我们提供 20 个 AP classes,每个 class 有一个 spreadsheet,每个 sheet 有 50-200 名学生排名偏好。这些学生都是从学校大约 500 名即将入学的大三和大四学生中挑选出来的。每位 AP 教师都有责任查看对 class 感兴趣的学生名单,并选择最终会参加该课程的学生。学生的数据分布在多个 spreadsheet 中。如果数据包含在单个传播sheet 中,效率会高得多。构建完成其中大部分的摘要函数很简单,但有时在查看特定学生时,如果有一种方法可以查看详细信息而不丢失您在 spreadsheet 中的上下文,那就太好了。例如,如果您正在查看学生的 GPA,并且想了解他们在数学 classes 中的表现。我想象的两种技术:
1. 创建一个脚本,用包含学生完整成绩单的注释(使用 setNote)填充 gpa 单元格。
2. 在 gpa 单元格旁边的单元格中创建一个 link,以某种方式提供学生成绩单的视图,而不会导致 reader 失去其在原始 sheet 中的位置,可能是通过更改在另一个浏览器选项卡上的 sheet 中关注相关学生。
我能够创建一个 html 弹出窗口,其中包含 stu 数据。并从绘图按钮或菜单项调用该函数。
function 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 + '<br> GPA:' + GPA + '<br> AP:' + AP + '<br> Grade:' + grade + '<br><br> Transcript - :' + t16 + '<br> Transcript - :' + t17 + '<br> Transcript - :' + t18)
.setTitle(stuName)
.setWidth(750)
.setHeight(220);
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
}
在单行中包含大量可读数据(带换行符)而又不使该行的高度增长以适应数据的最佳方法是什么。例如,如果我想通过单击 GPA 单元格来查看完整成绩单:
排:
名称 GPA # AP 的等级
马凯拉 4.0 3 10</p>
<p>成绩单
2014-2015 -- 代数 1:A,英语 9:A,体育:F,历史:A,西班牙语 1:C,物理:C
2015-2016 -- 几何:A,英语 10:A,音乐:B,历史:A,西班牙语 2:C,化学:C
2016-2017 -- 代数 1:A,英语:A,音乐:A,历史:A,西班牙语 3:C,生物学:C
-- 详细说明: 我们正在改进我们用于选择 AP classes 学生的过程。我们提供 20 个 AP classes,每个 class 有一个 spreadsheet,每个 sheet 有 50-200 名学生排名偏好。这些学生都是从学校大约 500 名即将入学的大三和大四学生中挑选出来的。每位 AP 教师都有责任查看对 class 感兴趣的学生名单,并选择最终会参加该课程的学生。学生的数据分布在多个 spreadsheet 中。如果数据包含在单个传播sheet 中,效率会高得多。构建完成其中大部分的摘要函数很简单,但有时在查看特定学生时,如果有一种方法可以查看详细信息而不丢失您在 spreadsheet 中的上下文,那就太好了。例如,如果您正在查看学生的 GPA,并且想了解他们在数学 classes 中的表现。我想象的两种技术: 1. 创建一个脚本,用包含学生完整成绩单的注释(使用 setNote)填充 gpa 单元格。 2. 在 gpa 单元格旁边的单元格中创建一个 link,以某种方式提供学生成绩单的视图,而不会导致 reader 失去其在原始 sheet 中的位置,可能是通过更改在另一个浏览器选项卡上的 sheet 中关注相关学生。
我能够创建一个 html 弹出窗口,其中包含 stu 数据。并从绘图按钮或菜单项调用该函数。
function 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 + '<br> GPA:' + GPA + '<br> AP:' + AP + '<br> Grade:' + grade + '<br><br> Transcript - :' + t16 + '<br> Transcript - :' + t17 + '<br> Transcript - :' + t18)
.setTitle(stuName)
.setWidth(750)
.setHeight(220);
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
}