我们正在开发excel外接程序,使用office,我们正在使用"https://appsforoffice.microsoft.com/lib/1/hosted/office.js“官方生产API。
我们从excel中将columnWidth设置为"20“,但是在使用office-js时,APIwe得到了一些随机数。
我的代码如下-
const sheet = context.workbook.worksheets.getActiveWorksheet();
let range = sheet.getRange("C3:L12");
range.load("format, columnCount");
await context.sync();
console.log(range.format.columnWidth);
输出:125
这里的输出应该是20,但是API返回125。此外,columnWidth在Mac和Windows上的表现也有所不同。
rowHeight的API运行良好,无论我们在excel中设置了什么API响应,但是对于columnWidh,我们得到的是一些随机数。
谁能帮上忙,让我们知道columnWidth是如何在office-js的?中计算的吗?
发布于 2020-07-07 02:48:36
这是由于单位的差异。
在Excel电子表格上,可以将列宽度设置为0至255,其中一个单位等于一个字符的宽度,该字符可以在以标准字体格式化的单元格中显示。如果列的宽度设置为零(0),则该列将被隐藏。
在新工作表上,所有列的默认宽度为8.43个字符。当您使用Excel时,我们将返回像素。
但是,您在屏幕上看到的实际宽度会有所不同,这取决于为工作簿的正常样式定义的字体的宽度。更改默认字体也会更改列的宽度。发生此行为的原因是Excel存储单个字体的列宽信息的方式。本文讨论如何确定列宽。
详细信息可在这文档中找到
https://stackoverflow.com/questions/62766879
复制相似问题