首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Google (v4)格式化单元格

用Google (v4)格式化单元格
EN

Stack Overflow用户
提问于 2021-05-06 11:27:13
回答 1查看 2.8K关注 0票数 2

我使用Google (v4)以编程方式创建/更新电子表格,并遇到以下问题:

根据文档(https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/cells#CellFormat),我将数字格式设置为CURRENCY;这将正确地将数字显示为一个数字值,前面有一个元符号(日本地区)。但是,它似乎并没有实际选择格式下拉列表上的“货币”选项,更重要的是,在下载电子表格(例如,作为.xlsx文件)时没有反映指定的格式。

这与手动选择“货币”选项不同(通过UI),在这种情况下,一旦下载,值就会正确显示。

下面是代码的相关部分:

代码语言:javascript
复制
import { google, sheets_v4 } from 'googleapis';

const sheetsApi = google.sheets({
  version: 'v4',
  auth: await this.getAuthClient(),
});

await sheetsApi.spreadsheets
  .batchUpdate({
    spreadsheetId: resource,
    requestBody: {
      requests: [
        {
          updateSpreadsheetProperties: {
            fields: 'locale',
            properties: {
              locale: 'ja',
            },
          },
        },

        ...,
        
        {
          repeatCell: {
            fields: 'userEnteredFormat.numberFormat',
            cell: {
              userEnteredFormat: {
                numberFormat: { type: 'CURRENCY' },
              },
            },
          },
        },
      ],
    },
  })
  .catch((error) => {
    console.log(error);
  });

我也尝试过设置模式(尝试了很少不同的模式),但是没有能够实际设置单元格格式,尽管显示的值是这样的。

可能是个简单的错误,但我已经坚持了一段时间了。任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-06 12:29:12

在这种情况下,我认为可能需要设置pattern的属性。因此,在本例中,修改repeatCell请求如何?

修改后的请求:

代码语言:javascript
复制
{
  "repeatCell": {
    "range": {,,,}, // Please set range.
    "cell": {
      "userEnteredFormat": {
        "numberFormat": {
          "type": "CURRENCY",
          "pattern": "[$¥-411]#,##0.00"  // <--- Added
        }
      }
    },
    "fields": "userEnteredFormat.numberFormat"  // or "fields": "userEnteredFormat"
  }
}

注意:

  • 在我的环境中,当上述修改后的请求用于batchUpdate方法时,我可以确认检查了“货币”。

参考文献:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67417205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档