gpt4 book ai didi

javascript - 格式化从电子表格中读取的数字

转载 作者:可可西里 更新时间:2023-11-01 01:56:57 27 4
gpt4 key购买 nike

我正在编写一个脚本,用于创建 Google Apps 电子表格内容的固定宽度文本输出。我使用 range.getValues() 方法检索当前范围的所有值,然后循环遍历所有内容几次并生成一个文本 block ,当粘贴到固定宽度字体的电子邮件。

我遇到的唯一问题是我无法复制数字格式。我可以使用 range.getNumberFormats() 获取数字格式字符串,但我找不到在代码中应用该格式字符串的方法。我尝试使用 TEXT(值、格式)电子表格函数,但显然 Google Apps 脚本尚不支持从 JavaScript 代码本身调用电子表格函数(有关证明,请参阅 this issue)。

最佳答案

截至December 2015 ,可以丢弃笨拙的解决方法。 Google 提供了两种方法来从单元格中检索文字字符串显示值。他们还没有提供文档,所以这里有一个摘要:

Range.getDisplayValue()
以字符串形式返回范围内左上角单元格的显示值,其中包含表格 UI 上显示的文本值。空单元格将返回一个空字符串。

Range.getDisplayValues()
返回此范围的显示值的矩形网格。返回一个二维字符串数组,按行索引,然后按列索引。空单元格将由数组中的空字符串表示。请记住,虽然范围索引从 1, 1 开始,但 JavaScript 数组将从 [0][0] 开始索引。

示例:

假设我们在电子表格中有一个我们感兴趣的范围,如下所示:

screenshot

这四个单元格包含两种最难解决的格式;日期/时间和科学记数法。但是有了新方法,就没什么了。

function demoDisplayValue() {
var range = SpreadsheetApp.getActiveSheet().getRange("A1:B2");

Logger.log( range.getDisplayValue() );
Logger.log( range.getDisplayValues() );
}

日志:

[16-01-14 13:04:15:864 EST] 1/14/2016 0:00:00
[16-01-14 13:04:15:865 EST] [[1/14/2016 0:00:00, 5.13123E+35], [$3.53, 1,123 lb]]

关于javascript - 格式化从电子表格中读取的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com