我正在使用JavaScript API处理Excel加载项,以在Excel Office 365中构建加载项。 对于Excel表,如何将整个列格式化为默认情况下仅包含字符串。 [我需要在特定列的所有单元格中将数字显示为012而不是12。]
答案 0 :(得分:2)
您可以先将数字格式设置为文本(设置为@
,这是Excel的格式,表示某些内容是文本),然后设置值。
这是一个范围示例(表格非常相似 - 只需获取列的范围)
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)中点击五次点击直播。只需安装Script Lab加载项(免费),然后选择&#34;导入&#34;在导航菜单中,使用以下GIST网址:https://gist.github.com/Zlatkovsky/741c3313825df988ac9840289c012440
答案 1 :(得分:0)
sheet.getRange(&#34; A1:A3&#34;)只会格式化前三个单元格。
sheet.getRange(&#34; A:A&#34;)将为您提供整个A列,而不仅仅是A列中的前3个单元格。