我想以丰富的格式显示数字字符串数据,当数字为正或负时,应用不同的颜色。
我目前的代码是:
var url = 'https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxx/edit#gid=xxxxxxxxx';
var spreadSheet = SpreadsheetApp.openByUrl(url);
var allSheets = spreadSheet.getSheets();
var theSheet = allSheets[1];
var lastRow = theSheet.getLastRow();
var lastColumn = theSheet.getLastColumn();
var sheetData = theSheet.getSheetValues(1, 1, lastRow, lastColumn);
var rawData = sheetData[1][1];
var calcData = sheetData[1][1] / sheetData[0][1];
var formattedData = Utilities.formatString("%+1.2f%", calcData * 100);formattedData的结果如下所示:
+12.1%
我想,如果用不同的颜色显示,绿色字母表示肯定,红色字母显示负值会更好。
发布于 2020-12-14 03:09:37
在脚本中,formattedData是字符串值。当您要更改字体颜色时,在这种情况下,需要将该值设置为单元格。所以在这个例子中,我想提出改变单元格中字体颜色的方法。
如果使用脚本中的theSheet,示例脚本如下所示。
示例脚本:
var calcData = -0.1234;
theSheet
.getRange("A1")
.setValue(calcData)
.setNumberFormat('+0.00%;-0.00%;0.00')
.setFontColor(calcData > 0 ? "green" : "red");-12.34%放在单元格"A1“中,字体颜色为红色。var calcData = 0.1234;时,+12.34%被放入单元格"A1“,字体颜色为绿色。Utilities.formatString时,示例脚本如下所示。
变量calcData = -0.1234;变量formattedData = Utilities.formatString("%+1.2f%",calcData * 100);theSheet .getRange("A1") .setValue(formattedData) .setFontColor(calcData >0?“绿色”:“红色”;注意:
参考文献:
https://stackoverflow.com/questions/65282966
复制相似问题