【发布时间】:2017-04-27 00:17:11
【问题描述】:
我正在使用 JavaScript API 开发 Excel 加载项,以便在 Excel Office 365 中构建加载项。 对于 Excel 表,如何将整个列格式化为默认只有字符串。 [我需要数字在特定列的所有单元格中显示为 012 而不是 12。]
【问题讨论】:
我正在使用 JavaScript API 开发 Excel 加载项,以便在 Excel Office 365 中构建加载项。 对于 Excel 表,如何将整个列格式化为默认只有字符串。 [我需要数字在特定列的所有单元格中显示为 012 而不是 12。]
【问题讨论】:
您可以先将数字格式设置为文本(设置为@,这是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
【讨论】:
sheet.getRange("A1:A3") 只会格式化前三个单元格。
sheet.getRange("A:A") 将为您提供整个 A 列,而不仅仅是 A 列中的前 3 个单元格。
【讨论】: