[DAY 20] 新增栏位及修改储存格格式

昨天有提到放入考题资讯时的注意事项
1.答案资讯不能直接往下放
2.放入後的格式须注意是否有改变
所以今天要避开这些放入考题资讯


新增栏、列

经测试,虽不能直接往下放,但往上面放就OK~
因为如果之前没有新回应,他会从题目列的下一列开始写入新回应
所以我们要往题目列的上方插入新的列

var ss = SpreadsheetApp.openById(回应试算表ID);
var now_ss = ss.getSheetByName(你的分页名称);

now_ss.insertColumnsBefore(1, 2)
now_ss.insertRowsBefore(1, 6)

来解释一下
insertColumnsBefore(1, 2) 是指在第一栏往前插入2栏
因为自动生成的「时间戳记」必在第一栏
往前生成2栏是因为一栏要写「自算得分」,另一栏要写「学生战力」

insertRowsBefore(1, 6) 是指在第一列往前插入6列
因为题目列必在第一列
会插入6列是因为我有「章节、答案、得分、累计正确人数、累计答对人数、答对率」等6列
你可以依照自己的需求修改


储存格格式

有的时候我的章节是以1-3-2表示
但是写入後却被读取为2001/3/2
故接下来要说如何写入在资料时指定格式

例如要在'A1:E1'放入如下资讯
['1-3-1', '1-3-1', '1-3-1', '1-3-2', '1-3-2']

例如要在'A2:E2'放入如下资讯
[3.0, 3.0, 3.0, 5.0, 5.0]

var data1 = ['1-3-1', '1-3-1', '1-3-1', '1-3-2', '1-3-2'];
var data2 = [3.0, 3.0, 3.0, 5.0, 5.0];

ss.getRange('A1:E1').setNumberFormat('@').setValues([data1])
ss.getRange('A2:E2').setNumberFormat('0.0').setValues([data2])

说明一下
.setNumberFormat('@') 表示这些储存格的格式为「文字」
.setNumberFormat('0.0') 表示这些储存格的格式为「数字且显示到小数点後一位」
这样就可以正确显示你想要的呈现方式罗~


那目前就已经可以把答案配分都移到这个回应试算表页面
以後只要开启这个回应试算表分页就能看到当下的考试资讯
并且也可以再自己用解答的部分对作答者的回应对答案了

再接下来会介绍一些理论
如:试题反映理论(Item Response Theory, IRT)、真实分数模型(True Score Model)
并说说如何把他代入其中估计学生战力罗~


<<:  Day 13. 模板语法Template Syntax – 插值 v-once、v-html

>>:  [DAY 10] 大口香鸡排

用React刻自己的投资Dashboard Day2 - 网站Wireframe设计

tags: 2021铁人赛 React 投资Dashboard内容设计 要实际动手制作wirefra...

以Postgresql为主,再聊聊资料库 递回 又见递回

情境:有许多 sensor, 一直传送资料,我们想取得最新的资料. create unlogged...

Day[-4] 今天我想来点Kibana的Map Chart -4

贺喜 撑过连假大魔王的第二波攻势 我存活下来了~~~ 好的今天要来分享的地图呈现方式是heat ma...

Day 03 Blazor Server和Blazor WebAssembly的差异

下载Visual Studio後首先建立一个BlazorPratice方案,里面建立Blazor S...