将各种数据格式传递到Google表格中

时间:2019-08-03 05:57:05

标签: google-apps-script charts google-sheets format dataformat

我有一个Google表格程序,其中图形上显示了各种统计数据。

我有一些数据格式的问题

所有统计信息都有不同的格式:数字,货币,%。

为了在图表上正确显示每种数据类型,我为数据单元格设置了适当的格式(将数据重写到工作表的其他位置之后)。然后将此范围传递给图形。结果-我可以在图表上看到%和$,不仅是数字。

但是我不喜欢这种方法,因为它不是通用的+出现了问题并且货币图不再显示。在调试器中看不到原因。

有人可以帮助解决此问题吗? 您将如何更改格式处理方式?

以下是代码重新格式化的格式:

//First I get format for the written statistic
var dataFormat = sheet.getRange(fromRow, statColumn, numRows).getNumberFormat()

//then goes this crazyness of writing each format separately
//if data is in % format
if (dataFormat == "0.00%") {

  var format = "0%";

  //if data is a number
} else if (dataFormat == "#,##0.00") {

  var format = "0";

} else if (dataFormat == "0.###############") {

  var format = "0";

} else if (dataFormat == "#,##0") {

  var format = "0";

  //dollars format
} else {

  var format = "[$$]#,##0";
};

//then I write format to the cells to pass this range to a graph (embedded chart)
//dataRange is a named range for cells where I write data 
dataRange.setNumberFormat(format)

//range to pass to graph builder
var range = ss.getRangeByName("SetupDataRange")

var chart = sheet.newChart()
  .setChartType(Charts.ChartType.LINE)
  .addRange(range)

0 个答案:

没有答案