代码
// 获取当前系统,标准字体的每个字符占的像素,xlsx默认字体是Calibri,11pt
int pixelPerChar = getCharacterWidth("Calibri", 11, 'a');
// 计算指定列的真实的pixel值
// sheet.getColumnWidth(i)返回值是指定列的字符值 * 256,即单位是字符长度的1/256
float realWidth = sheet.getColumnWidth(i) / 256.0 * pixelPerChar;
// pixel转point
...
/**
* 获取当前系统的标准字符的像素宽度
*/
public static int getCharacterWidth(String fontName, int fontSize, char character) {
Font font = new Font(fontName, Font.PLAIN, fontSize);
BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
FontMetrics fm = img.getGraphics().getFontMetrics(font);
return fm.charWidth(character);
}