【问题标题】:Using Google SpreadsheetApp setNumberFormat, setting format as percent and not multiplying by 100?使用 Google SpreadsheetApp setNumberFormat,将格式设置为百分比而不是乘以 100?
【发布时间】:2017-03-28 15:01:47
【问题描述】:

我正在使用 API 从 Google Analytics(分析)数据构建 Google 电子表格,并尝试格式化一些数字。
基于Sheets API Format page,我应该能够使用.setNumberFormat("00.00\%"); 将数字设置为两位小数并用斜杠清除%,这样它就不会在数字上运行它的乘数。但它没有按预期工作。根据该页面,\ 字符“将下一个字符视为文字值,而不是它可能具有的任何特殊含义。”

原始数据:33.0923537840302
目标:33.09%
实际结果:3309.23%

如果我使用.setNumberFormat("00.00");,我会得到我想要的结果,但它最后缺少%

【问题讨论】:

    标签: google-spreadsheet-api google-docs-api google-sheets-api


    【解决方案1】:

    你可以试试这个:

    cell.setNumberFormat("00.00");
    cell.setValue(cell.getValue() + "%")
    

    首先将格式设置为“00.00”,然后将百分号连接到格式结果。

    希望此解决方法有所帮助。

    【讨论】:

      【解决方案2】:

      对于最终来到这里的任何人,要以range 的形式执行此操作(而不是像@Mr.Rebot 的答案那样通过单元格),您需要收集单元格范围内的所有值,然后遍历该数据并设置单元格的更新值。

      我正在处理这个example,所以这就是outputToSpreadsheet 的来源。

      function outputToSpreadsheet(results) {
          /*
              Collect all the values of the cells
          */
          var resultsLength = results.getRows().length,
              getPercentNewSessionsData = sheet.getRange(2, 11, resultsLength).getValues(),
              getBounceRateData = sheet.getRange(2, 13, resultsLength).getValues(),
              getPageViewsData = sheet.getRange(2, 14, resultsLength).getValues(),
              getAverageSessionDurationData = sheet.getRange(2, 15, resultsLength).getValues();
          /*
              Using the results count (resultsLength), run down the rows and manipulate all the cell values
          */
          for(var i = 0; i < resultsLength; i++){
              sheet.getRange(i+2, 11).setValue( (getPercentNewSessionsData[i] * 1).toFixed(2) + "%");
              sheet.getRange(i+2, 13).setValue( (getBounceRateData[i] * 1).toFixed(2) + "%");
              sheet.getRange(i+2, 14).setValue( (getPageViewsData[i] * 1).toFixed(2));
              sheet.getRange(i+2, 15).setValue( convertToDuration(getAverageSessionDurationData[i] * 1) );
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2015-02-27
        • 1970-01-01
        • 2010-11-19
        • 1970-01-01
        • 2021-02-28
        • 2022-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多