gpt4 book ai didi

javascript - 使用 Google Scripts 禁用自动日期解析

转载 作者:行者123 更新时间:2023-11-29 15:51:13 25 4
gpt4 key购买 nike

我正在使用 Google Scripts 来实现一些 Google 电子表格的魔法,自动日期解析让我抓狂!我正在使用的工作表上充斥着各种日期格式,我宁愿将它们作为字符串处理,也不愿让 Google 在每次调用 .getValues() 时将它们转换为 Date 对象。经过大量搜索,我仍然找不到阻止/禁用 Google 自动解析这些字符串的方法。有谁知道怎么做?

最佳答案

是的,这是可能的,但您必须在调用 getValues 和使用 getDisplayValues() 之前进行更改:

  // do not use getValues(), which will convert dates
var string_data = my_sheet.getRange(...).getDisplayValues();

如果你只想在有限的情况下使用显示值,比如日期,你可以复制值和显示,然后测试你的值是否是日期,如果是,则使用相应的显示:

  // use getDisplayValues() for dates, getValues() otherwise
var string_data = my_sheet.getRange(...).getDisplayValues();
var value_data = my_sheet.getRange(...).getValues();

value_data.forEach(function(row_vals, i) {
row.forEach(function(cell_val, j) {
if(is_date(cell_val)) // see e.g. https://stackoverflow.com/a/17110249/3160967
do_something_with(string_data(i, j));
else
do_something_with(cell_val);
});
});

最后,如果您想将其用作工作表函数,则需要修改上述内容,因为函数调用会在执行函数代码之前自动应用 getValues()。要解决此问题,您可以使用 https://webapps.stackexchange.com/a/30784 中描述的技术。

关于javascript - 使用 Google Scripts 禁用自动日期解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5319985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com