将 Excel table 的整列格式化为字符串

Format entire column of Excel table as String

我正在开发一个 Excel 加载项,使用 JavaScript API 在 Excel Office 365 中构建加载项。 对于 Excel 表,如何将整个列格式化为默认情况下仅包含字符串。 [我需要数字在特定列的所有单元格中显示为 012 而不是 12。]

您可以先将数字格式设置为文本(设置为@,这是Excel表示某物是文本的格式),然后再设置值。

这是一个范围示例(table 非常相似——只需获取列的范围)

try {
    await Excel.run(async (context) => {
        const sheet = context.workbook.worksheets.getActiveWorksheet();
        const range = sheet.getRange("A1:A3");
        range.numberFormat = <any>"@";
        range.values = [
            ["012"],
            ["013"],
            ["014"]
        ];
        await context.sync();
    });
}
catch (error) {
    OfficeHelpers.Utilities.log(error);
}

上面的例子是用 TypeScript 写的——但如果你愿意的话,转换成普通的 ES5 JS 应该也很简单。

您可以在新的 Script Lab (https://aka.ms/getscriptlab). Simply install the Script Lab add-in (free), then choose "Import" in the navigation menu, and use the following GIST URL: https://gist.github.com/Zlatkovsky/741c3313825df988ac9840289c012440

中单击五下即可实时试用此片段

sheet.getRange("A1:A3") 只会格式化前三个单元格。

sheet.getRange("A:A") 将为您提供整个 A 列,而不仅仅是 A 列中的前 3 个单元格。