【问题标题】:Format entire column of Excel table as String将 Excel 表格的整列格式化为字符串
【发布时间】:2017-04-27 00:17:11
【问题描述】:

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

【问题讨论】:

    标签: office-js scriptlab


    【解决方案1】:

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

    这是一个 Range 示例(表格非常相似 -- 只需获取列的范围)

    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 也应该很简单。

    您可以在新的脚本实验室 (https://aka.ms/getscriptlab) 中点击五次即可试用此 sn-p。只需安装 Script Lab 插件(免费),然后在导航菜单中选择“导入”,并使用以下 GIST URL:https://gist.github.com/Zlatkovsky/741c3313825df988ac9840289c012440

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多