java如何设置以英寸为单位的固定列宽值。阿帕奇POI
Im为使用Apache POI创建的excel Im设置固定的列宽度。我有以英寸为单位的固定值。所以我想知道Apcahe POI作为参数的测量值是什么。我怎么能用英寸来表示呢
Sheet sheet;
sheet.setColumnWidth(0, 100);
你可以在下面搜索框中键入要查询的问题!
Im为使用Apache POI创建的excel Im设置固定的列宽度。我有以英寸为单位的固定值。所以我想知道Apcahe POI作为参数的测量值是什么。我怎么能用英寸来表示呢
Sheet sheet;
sheet.setColumnWidth(0, 100);
# 1 楼答案
在Sheet.setColumnWidth中,被告知这里的测量单位是字符宽度的1/256。它还被告知
Excel
是如何精确计算的因此,如果希望
Excel
使用默认字体Calibri 11将列宽显示为10,那么width256
必须计算为(int)Math.round((10*Units.DEFAULT_CHARACTER_WIDTH+5f)/Units.DEFAULT_CHARACTER_WIDTH*256f)
如果需要以英寸为单位设置列宽,那么首先应将英寸转换为像素,然后
width256
必须计算为(int)Math.round(widthPx/Units.DEFAULT_CHARACTER_WIDTH*256f)
有Units作为单元管理的助手类
例如: