Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么有些值被确认为日期?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 为什么有些值被确认为日期?

Javascript 为什么有些值被确认为日期?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有一个脚本,可以在谷歌表单的一列中用逗号替换点。 函数checkItNow(){ const ss=SpreadsheetApp.getActiveSpreadsheet(); const sheet=ss.getSheetByName('TESTSCRIPTS'); 让rangeReplace=sheet.getRange(1,2,sheet.getLastRow()); 设valsReplace=rangeReplace.getValues().map(a=>a[0]); 让newVal

我有一个脚本,可以在谷歌表单的一列中用逗号替换点。

函数checkItNow(){
const ss=SpreadsheetApp.getActiveSpreadsheet();
const sheet=ss.getSheetByName('TESTSCRIPTS');
让rangeReplace=sheet.getRange(1,2,sheet.getLastRow());
设valsReplace=rangeReplace.getValues().map(a=>a[0]);
让newVals=valsReplace.map(dots=>dots.toString().replace('\.','\',');
设newValsArr=[];
对于(i=0;i
有时候在脚本运行之后,我会有约会


为什么会这样?我错在哪里?以及如何修复它?

默认格式是自动的,这意味着电子表格会尝试找出适合您的格式。但是是的,你的权利有时会得到错误的答案。我经常使用下面的函数来查看活动范围格式,以便了解当前的数字格式。该功能还允许您根据需要设置新的数字格式。要使用它,您只需选择要查看格式的单元格范围。注意:它不处理非连续单元格选择。这是留给读者的练习

function getandSetActiveRangeFormats() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getActiveRange();
  var fA=rg.getNumberFormats();
  var html='<style>th,td{border:1px solid black;}</style><table><tr><th>Item</th><th>A1 Notation</th><th>Number Format</th><th>Enter Format</th><th>Set Format</th></tr>';
  var item=1;
  var row=rg.getRow();
  var col=rg.getColumn();
  fA.forEach(function(r,i){
    r.forEach(function(c,j){
      var txt=Utilities.formatString('<input type="text" id="RC-%s-%s" />',row+i,col+j);
      var btn=Utilities.formatString('<input type="button" value="Set Form" onClick="setFormat(%s,%s);" />',row+i,col+j);
      html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',item++,sh.getRange(row + i,col + j).getA1Notation(),fA[i][j],txt,btn);
    });
  });
  html+='</table><input type="button" value="Exit" onClick="google.script.host.close();" />';
  html+='<script>function setFormat(row,col){var f=document.getElementById("RC-"+row+"-"+col).value;google.script.run.setFormat(row,col,f);}</script>';
  var ui=HtmlService.createHtmlOutput(Utilities.formatString(html));
  SpreadsheetApp.getUi().showModelessDialog(ui, "Display and Set Active Range Formats")
}
函数getandSetActiveRangeFormats(){ var ss=SpreadsheetApp.getActive(); var sh=ss.getActiveSheet(); var rg=sh.getActiveRange(); var fA=rg.getNumberFormats(); var html='th,td{border:1px纯黑色;}ItemA1 NotationNumber formatter FormatSet Format'; var项目=1; var row=rg.getRow(); var col=rg.getColumn(); fA.forEach(函数(r,i){ r、 forEach(函数(c,j){ var txt=Utilities.formatString(“”,行+i,列+j); var btn=Utilities.formatString(“”,行+i,列+j); html+=Utilities.formatString(“%s%s%s%s%s”,item++,sh.getRange(行+i,列+j).geta1符号(),fA[i][j],txt,btn); }); }); html+=''; html+='function setFormat(row,col){var f=document.getElementById(“RC-”+row+“-”+col).value;google.script.run.setFormat(row,col,f);}'; var ui=HtmlService.createHtmlOutput(Utilities.formatString(html)); SpreadsheetApp.getUi().showModelessDialog(ui,“显示和设置活动范围格式”) }
默认格式是自动的,这意味着电子表格会尝试找出适合您的格式。但是是的,你的权利有时会得到错误的答案。我经常使用下面的函数来查看活动范围格式,以便了解当前的数字格式。该功能还允许您根据需要设置新的数字格式。要使用它,您只需选择要查看格式的单元格范围。注意:它不处理非连续单元格选择。这是留给读者的练习

function getandSetActiveRangeFormats() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getActiveRange();
  var fA=rg.getNumberFormats();
  var html='<style>th,td{border:1px solid black;}</style><table><tr><th>Item</th><th>A1 Notation</th><th>Number Format</th><th>Enter Format</th><th>Set Format</th></tr>';
  var item=1;
  var row=rg.getRow();
  var col=rg.getColumn();
  fA.forEach(function(r,i){
    r.forEach(function(c,j){
      var txt=Utilities.formatString('<input type="text" id="RC-%s-%s" />',row+i,col+j);
      var btn=Utilities.formatString('<input type="button" value="Set Form" onClick="setFormat(%s,%s);" />',row+i,col+j);
      html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',item++,sh.getRange(row + i,col + j).getA1Notation(),fA[i][j],txt,btn);
    });
  });
  html+='</table><input type="button" value="Exit" onClick="google.script.host.close();" />';
  html+='<script>function setFormat(row,col){var f=document.getElementById("RC-"+row+"-"+col).value;google.script.run.setFormat(row,col,f);}</script>';
  var ui=HtmlService.createHtmlOutput(Utilities.formatString(html));
  SpreadsheetApp.getUi().showModelessDialog(ui, "Display and Set Active Range Formats")
}
函数getandSetActiveRangeFormats(){ var ss=SpreadsheetApp.getActive(); var sh=ss.getActiveSheet(); var rg=sh.getActiveRange(); var fA=rg.getNumberFormats(); var html='th,td{border:1px纯黑色;}ItemA1 NotationNumber formatter FormatSet Format'; var项目=1; var row=rg.getRow(); var col=rg.getColumn(); fA.forEach(函数(r,i){ r、 forEach(函数(c,j){ var txt=Utilities.formatString(“”,行+i,列+j); var btn=Utilities.formatString(“”,行+i,列+j); html+=Utilities.formatString(“%s%s%s%s%s”,item++,sh.getRange(行+i,列+j).geta1符号(),fA[i][j],txt,btn); }); }); html+=''; html+='function setFormat(row,col){var f=document.getElementById(“RC-”+row+“-”+col).value;google.script.run.setFormat(row,col,f);}'; var ui=HtmlService.createHtmlOutput(Utilities.formatString(html)); SpreadsheetApp.getUi().showModelessDialog(ui,“显示和设置活动范围格式”) }
我从谷歌应用程序脚本中找到了更简单的解决方案
。setNumberFormat

函数checkItNow(){
const ss=SpreadsheetApp.getActiveSpreadsheet();
const sheet=ss.getSheetByName('TESTSCRIPTS');
让rangeReplace=sheet.getRange(1,2,sheet.getLastRow());
rangeReplace.setNumberFormat(“#,##.000”);
设valsReplace=rangeReplace.getValues().map(a=>a[0]);
让newVals=valsReplace.map(dots=>dots.toString().replace('\.','\',');
设newValsArr=[];
对于(i=0;i}; 我从谷歌应用程序脚本中找到了更简单的解决方案
.setNumberFormat

函数checkItNow(){
const ss=SpreadsheetApp.getActiveSpreadsheet();
const sheet=ss.getSheetByName('TESTSCRIPTS');
让rangeReplace=sheet.getRange(1,2,sheet.getLastRow());
rangeReplace.setNumberFormat(“#,##.000”);
设valsReplace=rangeReplace.getValues().map(a=>a[0]);
让newVals=valsReplace.map(dots=>dots.toString().replace('\.','\',');
设newValsArr=[];
对于(i=0;i}; 将列格式设置为float.或纯文本..将列格式设置为float.或纯文本。。