我很好奇为什么Sheet.setColumnWidth
没有接受Points
参数的实现。
有一种方法可以用点设置行的高度,即setHeightInPoints
设置宽度的唯一可用方法是接受一个相当奇怪的比例,定义为
width = Truncate([{Number of Visible Characters} * {Maximum Digit Width} + {5 pixel padding}]/{Maximum Digit Width}*256)/256
这意味着它取决于数字的某个宽度,因此参数中使用的值是 只是这里所需要的1/256,宽度的一些直线表示。在Excel本身 你也可以用点数设置宽度。
这意味着行高和列宽的行为不是对称的。
只有setColumnWidth
版本才有合理理由吗?
这导致了严重的问题,因为我能得到的最好的结果在每台计算机上都有不同的结果, 因为设置的宽度取决于用户的默认字体设置。
我相信这与在许多不同的设置上很好地展示有关,正如pnuts的评论所暗示的那样。但它只适用于非常狭窄的领域。
目前我认为没有简单的解决方法,我现在找不到。 (也许只适用于我的案例)
有没有什么好方法可以从所需的点值计算列宽值?
即我想在任何使用excel导出功能的计算机上获得120分。 此处用作参数的宽度值是什么,以获得所需的points
宽度?