从电子表格中提取日期时,日期格式设置已关闭

时间:2017-05-29 09:20:44

标签: google-apps-script

所以我有一个简单的脚本,当B列填充日期时填写公式。一切都很好,除了日期显示整个时区格式。我尝试使用以下方式格式化日期,但随后脚本不会填充任何内容。

urls = Utilities.formatDate(ss.getRange("b2:b").getValue(),ss.getSpreadsheetTimeZone(), "dd/MM/YYYY");

完整代码:

function image()
{
  var ss, urls, formulas;
  ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet3');
  urls = ss.getRange('b2:b').getValues();
  //urls = Utilities.formatDate(ss.getRange("b2:b").getValue(),ss.getSpreadsheetTimeZone(), "dd/MM/YYYY");
  //urls.setNumberFormat('yyyy-mm-dd');

  formulas = [];


for (var i = 0, len = urls.length; i < len; i++)
  {
    var y = "=100*index(GOOGLEFINANCE(\"CURRENCY:USDINR\",\"price\",\"";
    var z = "\"),2,2)";
    if (urls[i] =='') break;
   formulas.push([''+ y +'' + urls[i] + ''+ z +'']);

  }

  ss.getRange(2, 3, formulas.length, 1).setValues(formulas);
}

TEST SHEET

2 个答案:

答案 0 :(得分:0)

请勿在{{1​​}}之后立即getValues();使用setNumberFormat(),因此:

getRange()

enter image description here

var range = ss.getRange("B2:B").setNumberFormat('dd-MMM-yyyy'); setNumberFormat在Range对象中具有相同的层次结构。

答案 1 :(得分:0)

使用.getValues代替.getDisplayValues