当前位置: 首页 > 知识库问答 >
问题:

数字格式谷歌电子表格API v4Java

楚威
2023-03-14

我正在阅读Java快速入门中描述的谷歌电子表格

https://developers.google.com/sheets/quickstart/java

快速入门说明了如何从给定范围读取数据

.....
String range = "Class Data!A2:E";
ValueRange response = service.spreadsheets().values()
    .get(spreadsheetId, range)
    .execute();

List<List<Object>> values = response.getValues();

NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN);

for (int i = 1; i < values.size(); i++) {
    List row = values.get(i);
    double l1 = nf.parse(row.get(1).toString()).doubleValue();
....

如你所见,我从回复中读取了双重值

我希望双值的专用格式(例如,12,34而不是12.34)

我是否可以将期望的数字格式作为参数传递给请求?比如:

service.spreadsheets().values().get(spreadsheetId, range).myNumberFormat("##,#####").execute()

问候

迈克尔

共有1个答案

彭建业
2023-03-14

默认情况下,您从电子表格中得到的响应已经按照电子表格中的方式格式化。您对nf的调用。解析(…)正在从该格式化版本转换为本机java类型,因此您将丢失格式化。

如果您想要直接获得原始值(因此您不需要在本地进行解析),您可以将value eRenderOption设置为UNFORMATTED_VALUE。有关更多信息,请参阅此示例。

我不太确定您到底在问什么问题,因为您的代码示例已经获得了一个格式化版本,并且您通过解析它显式地删除了该格式化。

如果您想要电子表格中尚未包含的特定格式,请检索原始值(使用未格式化的_值renderoption)并在本地使用NumberFormat转换为该格式。或者,在电子表格中设置所需的格式,只检索值,而不重新解析它们。

 类似资料:
  • 试图复制整个电子表格,但我想没有api可以这样做。 基本上,我正在尝试做以下工作: 有一个电子表格,我想对其进行小的更改。 创建一个新的电子表格,将模板中的所有表格逐个复制到新的电子表格中(电子表格复制会更有效率) 创建新的电子表格工作正常,但从电子表格复制表格不起作用。 尝试了两种方法: 角: 给出以下错误: 对飞行前请求的响应未通过访问控制检查:无“访问控制允许原点” Google Sheet

  • 我是谷歌脚本的新手,不知道是否有人能帮我。 我有一个共享的谷歌电子表格,基本上是用新的员工信息更新行。 我希望只有当插入这些新员工行时,特定列(比如F列)上的“ABC”字符串匹配时,才会触发电子邮件。基本上,电子邮件触发器会让我们的团队知道如何设置新的员工帐户。 有人能帮我吗?我不知道如何进行字符串匹配,也不知道如何让它专门发送给固定的电子邮件收件人。我已经安装了Python、gspread和gd

  • 我正在尝试从多个google电子表格中删除一个特定的表格。 我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。 但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。 这就是我到目前为止得到的。它停在这一排: "fname.delete表(本周);}" 我很感谢大家对我的帮助,因为

  • 我正试图让一个Google表单根据1个表单输入的数据,用多行填充电子表格,如下所示: 表单简单,客户信息最少https://docs.google.com/forms/d/1LrKlVuI7kxVU0lxz70Uu-2Obj4x3qIwe6nS-ErzbCAg/ 输入后,我需要表格在表格(或格式化表格)中输入数据,如下所示:-输入的每个部分(1、2或3)应位于单独的行中,具有相同的客户名称 然后,

  • 可编辑链接-https://docs.google.com/spreadsheets/d/1vrzchTHVwwzc9wgFGmtc_zBsh27CEtE7KOyeNDuLwC0/edit?usp=sharing 发布至网页-https://docs.google.com/spreadsheets/d/e/2PACX-1vRaJd3YpKnemAneU47RI58m7cxQsYFdViFBxJPV

  • 我正在尝试将表单数据发布到google电子表格中。当前,如果表单已验证,则会发生以下情况: 我使用了成功设置来验证我的表单数据是否被正确序列化(它是),以及是否成功。然而,我的谷歌电子表格没有更新(没有数据通过)。我在这里使用了示例代码,将doGet更改为doPost(http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-databa