Google 表格脚本中的 Javascript:帮助使用 setNumberFormat
Posted
技术标签:
【中文标题】Google 表格脚本中的 Javascript:帮助使用 setNumberFormat【英文标题】:Javascript in Google Sheets script: help using setNumberFormat 【发布时间】:2018-02-09 12:30:52 【问题描述】:希望这对你们来说是一个简单的问题。我根本没有编码知识。但是一直在使用 Google 表格中的以下脚本从另一张表格中获取更改的数据并每天记录它,并随时附加。不记得我在哪里找到了脚本 - 如果我找到了,我会回去问问它的创建者。它运行良好;唯一的事情是我必须每天手动复制粘贴我喜欢的日期格式。所以我希望脚本以“dd/MM/yyyy”格式打印日期(同时在单元格内保留小时和分钟数据)。我一直在网上阅读和搜索,并尝试了很长时间,但无法弄清楚。这是基本代码:
function recordHistory()
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("History");
var source = sheet.getRange("A2:C2");
var values = source.getValues();
values[0][0] = new Date();
sheet.appendRow(values[0]);
;
我尝试将setnumberformat
放在不同的地方,但几乎总是出错。也许我最好的尝试是在我见过的其他示例的启发下添加这些新行:
function recordHistory()
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("History");
var source = sheet.getRange("A2:C2");
var values = source.getValues();
values[0][0] = new Date();
sheet.appendRow(values[0]);
var cell = SpreadsheetApp.getActiveSheet().getRange(2, 1, 979);
cell.setNumberFormat("dd/MM/yyyy");
;
我希望这会在附加新数据后格式化整个日期行(A 行)。即使它有效,也可能是一个笨重的解决方案,但它没有。到目前为止,这是我唯一没有返回错误的尝试!所以,是吗?但它不会改变日期格式。所以我放弃了。有任何想法吗?
【问题讨论】:
【参考方案1】:指定特定单元格的格式
var cell = sheet.getRange("A2");
cell.setNumberFormat("dd/MM/yyyy");
指定单元格区域的格式
var cells = sheet.getRange("A2:C2");
cells.setNumberFormat("dd/MM/yyyy");
请参阅Range 和formats 的文档。
【讨论】:
完美!我也离得很近。显然误解了 getRange 的文档建议。非常感谢! 很高兴能提供帮助。请接受我的回答,以便为未来的读者解决问题。 :) 我假设这是赞成/反对票下方的绿色勾号。如果是这样,就完成了。也感谢元提示:)以上是关于Google 表格脚本中的 Javascript:帮助使用 setNumberFormat的主要内容,如果未能解决你的问题,请参考以下文章
Google Apps 脚本 - 将一行数据从一个电子表格移动到另一个电子表格
如何将客户端脚本调用移动到服务器? (Google云端硬盘电子表格Feed)
javascript Google Apps脚本的图表服务使用DataTable对象作为可视化和表格的源数据。有一个内置的方法tha