Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';使用Excel JavaScript API设置数字格式_Javascript_Excel_Office Js - Fatal编程技术网

Can';使用Excel JavaScript API设置数字格式

Can';使用Excel JavaScript API设置数字格式,javascript,excel,office-js,Javascript,Excel,Office Js,我正在使用ExcelJavaScriptAPI,在搜索了文档之后,仍然找不到我想要实现的解决方案 因此,我想将所有内容都设置为数字格式“文本”,这样Excel的自动格式就不会干扰任何单元格的内容(不会删除前导零或更改日期格式) 文件建议通过以下方式更改格式: 工作表(“Sheet1”).Range(“A17”).NumberFormat=“General” 但是sheet对象似乎不包含Range方法 相反,我尝试在我的表上使用getRange方法,如下所示: constructionTable.

我正在使用ExcelJavaScriptAPI,在搜索了文档之后,仍然找不到我想要实现的解决方案

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

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

工作表(“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();
  });
文档可在

侧注中找到:
工作表(“Sheet1”)。范围(“A17”)。NumberFormat=“General”
是VBA,而不是JS API。