无法使用 Excel JavaScript API 设置 NumberFormat
Posted
技术标签:
【中文标题】无法使用 Excel JavaScript API 设置 NumberFormat【英文标题】:Can't set NumberFormat with Excel JavaScript API 【发布时间】:2020-04-24 14:49:16 【问题描述】:我正在使用 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。
【参考方案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';
也为我工作,谢谢!以上是关于无法使用 Excel JavaScript API 设置 NumberFormat的主要内容,如果未能解决你的问题,请参考以下文章
使用 JavaScript / JQuery 将 html 表数据导出到 Excel 在 Chrome 浏览器中无法正常工作
Javascript fetch api:无法检索某些响应标头
无法将音频文件上传到 Cloudinary API(使用 javascript)