google-apps-script - 谷歌表格脚本。 getDisplayValues 添加前导空格

标签 google-apps-script google-sheets formatting text-formatting

Sample File

enter image description here

用户通过从外部源复制来添加新值。 营造出引导空间较小的视觉效果。 普通公式可以删除这个空格:

=""&A1"

↑ 将产生正确的结果。

问题

当我使用时:

function display(rA1) {
  var r = SpreadsheetApp.getActiveSheet().getRange(rA1);
  return r.getDisplayValues();
}

结果将包含前导空格

测试1测试1

如果我单击 [Ctrl]+[\],我无法从原始工作表/范围中删除此格式。

UPD1。只能复制和粘贴格式。

最佳答案

这是因为范围具有数字格式:

_-* #,##0.00\ _₽_-;\-* #,##0.00\ _₽_-;_-* "-"??\ _₽_-;_-@

忽略数字格式,文本格式为

_-@

其中,_ 根据 documentation意思是

_:Skips the next character and renders a space. This is used to line up number formats where the negative value is surrounded by parenthesis.

TEXT这样的公式和使用range.getDisplayValues()的脚本可以直接检索格式化的值:

=LEN(TEXT("Text1", "_-* #,##0.00\ _₽_-;\-* #,##0.00\ _₽_-;_-* ""-""??\ _₽_-;_-@"))//6

注意:

格式,即使你没有直接应用,剪贴板中的html数据也可能被sheets应用程序直接转换为数字格式(Sheets api也可以 the same )

关于google-apps-script - 谷歌表格脚本。 getDisplayValues 添加前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70505596/

相关文章:

c# - 使用 toString 进行格式化,以便我得到某种图表

java - IntelliJ 将包和导入放在文件头下方

google-apps-script - 如何更改应用程序脚本所有者?

google-sheets - 如何获取不等数组的 SUMPRODUCT Google Spreadsheet

google-apps-script - 当中间有空单元格时如何跳到最后一行?

excel - 如何计算Excel中给定范围内包含非空字符的单元格数量

sql - 如何在查询公式中有多个标签?

Vim 格式指定范围

javascript - 无法在按钮提交处理程序中使用变量

javascript - 如何将实时 Google 表格数据嵌入到 Google 协作平台中