使用apache poi在excel中使用行高来调整图像高度

也许这是愚蠢的问题,但我找不到解决scheme我如何设置行高取决于图像的高度? 这是我的代码的一部分:

int pictureIdx = workBook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG); CreationHelper helper = workBook.getCreationHelper(); Drawing drawing = sheet.createDrawingPatriarch(); ClientAnchor anchor = helper.createClientAnchor(); anchor.setCol1(0); anchor.setRow1(i); anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE); HSSFPicture pict = (HSSFPicture) drawing.createPicture(anchor, pictureIdx); Dimension size = pict.getImageDimension(); double scaledWidth = size.getWidth(); double procentage = (1070.0d * 100d) / scaledWidth; double autosize = procentage / 100.0d; pict.resize(autosize); short h = (short) (pict.getImageDimension().getWidth()); row.setHeight(h); 

在Excel中我的图像高度比行高度大得多

怀疑你一年后仍然需要这个,但是为了什么价值,你将图片宽度分配为行高。

short h = (short) (pict.getImageDimension().getWidth());

另外setHeight使用twip作为单位,这是点的1/20。 所以你仍然需要乘以你的h值超过20倍才能进入像素范围。