Java 使用ApachePOI在excel中将图像高度与行高度匹配

Java 使用ApachePOI在excel中将图像高度与行高度匹配,java,excel,apache-poi,Java,Excel,Apache Poi,也许这是个愚蠢的问题,但我找不到解决办法 如何根据图像高度设置行高度? 以下是我的部分代码: int pictureIdx = workBook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG); CreationHelper helper = workBook.getCreationHelper(); Drawing drawing = sheet.createDrawingPatriarch(); ClientAnchor anchor = help

也许这是个愚蠢的问题,但我找不到解决办法 如何根据图像高度设置行高度? 以下是我的部分代码:

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())


此外,设置高度使用twip作为单位,即点的1/20。所以你仍然需要将你的h值乘以一个大于20的因子才能进入像素范围