我正在使用excel的Javascript API,在搜索了文档之后,仍然找不到我想要实现的解决方案。
所以我想把所有的数字格式设置为 "文本",这样Excel的自动格式化就不会对任何单元格的内容造成干扰(不能删除前导零或改变日期格式)。
文档中建议通过改变格式。
Worksheets("Sheet1").Range("A17").NumberFormat = "General"
但似乎sheet对象并不包含Range方法。
我试着在我的表上使用getRange方法,就像这样。
constructionTable.getRange().NumberFormat = "Text"
这没有抛出任何错误,但似乎没有任何作用。
之前格式化表格范围对这样的东西是有效的。
constructionTable.getRange().format.autofitColumns()
所以我还检查了 constructionTable.getRange().range.format
包含一个叫NumberFormat或numberFormat的方法,但它没有 :(
有人成功地做到了这一点吗?
欢迎来到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();
});
文件可以在下面找到 此处