【问题标题】:Can't set NumberFormat with Excel JavaScript API无法使用 Excel JavaScript API 设置 NumberFormat
【发布时间】:2023-03-24 07:56:02
【问题描述】:

我正在使用 excel Javascript API,在搜索完文档后,仍然找不到我想要实现的解决方案。

所以我想将所有内容都设置为数字格式“文本”,这样 Excel 的自动格式不会与任何单元格的内容混淆(不会删除前导零或更改日期格式)。

文档建议通过以下方式更改格式:

Worksheets("Sheet1").Range("A17").NumberFormat = "General"

但似乎工作表对象不包含 Range 方法。

相反,我尝试在我的桌子上使用 getRange 方法,如下所示:

constructionTable.getRange().NumberFormat = "Text"

这没有引发任何错误,但似乎没有做任何事情。

格式化表格范围以前适用于这样的东西:

constructionTable.getRange().format.autofitColumns()

所以我也检查了constructionTable.getRange().range.format是否包含一个名为NumberFormat或numberFormat的方法,但它没有:(

有人在这方面取得过成功吗?

【问题讨论】:

  • 旁注:Worksheets("Sheet1").Range("A17").NumberFormat = "General" 是 VBA,而不是 JS API。

标签: javascript excel office-js


【解决方案1】:

欢迎来到 Office JS,Tluther。是的,工作表没有 numberFormat API。如果要设置整个工作表,可以使用 getUsedRange() 获取工作表中使用的范围。您可以使用 range.numberFormat = '@' 将其设置为文本;

这里是示例代码:

  await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Sample");

    const range = sheet.getUsedRange();
    range.numberFormat = '@';
    await context.sync();
  });

文档可以在here找到

【讨论】:

  • @ 工作得很好,但我似乎无法让它做任何其他事情你能再举一两个例子吗?
  • range.numberFormat = '0'; 也为我工作,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-15
  • 2020-11-24
相关资源
最近更新 更多