java - POI Excel HSSF图片图像和尺寸

标签 java excel groovy apache-poi

我正在通过如下代码向工作表添加图像:

// Create the drawing patriarch.  This is the top level container for all shapes.
Drawing drawing = sheet.createDrawingPatriarch();

//add a picture shape
//ClientAnchor anchor = this.creationHelper.createClientAnchor();
ClientAnchor anchor = new HSSFClientAnchor((short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)2, (short)5)

// 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. 
anchor.setAnchorType(2)

HSSFPicture pict = drawing.createPicture(anchor, this.images.get("logo"));
pict.resize() ;

然而,在添加图像之后,我调整了列的大小——这似乎把事情搞砸了。它会调整图像的大小 - 这不是我想要的。

//psuedo code
public void autoSizeColumns() {
    def cols = (StartColumn..this.cMax)
    cols.each { i ->
        sheet.autoSizeColumn i
    }   
}

BrandedWorksheet v; 
v.autoSizeColumns()

如果我不执行 autoSizeColumns() 图像大小合适。

有什么办法可以兼得吗?

最佳答案

这很疯狂而且没有多大意义,但分配适当的间距和行数似乎是关键。我添加了足够多的行,以便图像可以在内部绑定(bind)到行 - 一切看起来都很好。

这个故事的寓意:继续工作和搞砸,它最终可能会奏效。您会感到非常沮丧,而且那里不会有太多帮助 - 因为我们这些已经正确调整图像大小的人并不真正理解原因。

关于java - POI Excel HSSF图片图像和尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216667/

相关文章:

java - 使用 ACTION_IMAGE_CAPTURE Intent 时如何正确捕获 Android 相机 Activity 的错误

java - 使用接口(interface)或抽象的设计模式

linux - 如果复制失败,Jenkins 管道会跳过阶段

excel - 如何最好地在 Access 或 Excel 中使用 VBA 来测试 ODBC 连接?

python - 将每列中的唯一值放入一列及其出现次数,pandas

mysql - 常规 SQL : Shall I manually close the Mysql connection

java - Java 类的 Groovy Spock 测试 - 如何模拟 Clob

java - 单击链接时执行 Servlet

java - 从 java 调用简单的 shell 脚本不起作用

excel - 范围内的类似 VBA 的运算符