gpt4 book ai didi

apache-poi - JXLS 根据内容自动调整行高

转载 作者:行者123 更新时间:2023-12-05 00:54:47 24 4
gpt4 key购买 nike

我正在使用带有 apache poi 实现的 JXLS 2.3.0。
我使用以下代码来创建 excel :

try{
InputStream is = ObjectCollectionDemo.class.getResourceAsStream("/template.xls")
OutputStream os = new FileOutputStream("target/output.xls")
Context context = new Context();
context.putVar("employees", employees);
JxlsHelper.getInstance().processTemplate(is, os, context);

}

我生成的 excel 文件如下所示:

enter image description here

如上图所示,第一个“名称”值仅显示部分内容。

但我想要的是:

enter image description here

即excel单元格中的内容可以换行,行高可以自动
适合单元格内容。

我怎样才能做到这一点?
提前致谢。

-------------- 更新 -------

解决方法是:
  • 照@Andy 说的做
  • 将相应的单元格格式化为 wrap text在您的模板文件中
  • (可选)在第1步和第2步之后,可以显示单元格内容的99%信息,但仍然会遗漏一些。然后我打开模板文件,发现它看起来像下一个:

  • enter image description here

    我们可以发现 }${a.name}在新的线上,
    将其更改为:

    enter image description here

    那就是制造 ${a.name}是在一行上,则可以显示所有内容。

    最佳答案

    我知道这篇文章已经很老了,但我偶然发现它是 Google 的第一批热门文章之一,想分享我的解决方案。

    我分 3 个步骤为 MS Excel 2010 实现了自动行高功能。

    创建命令:

    public class AutoRowHeightCommand extends AbstractCommand {

    // ... left out boilerplate

    @Override
    public Size applyAt(CellRef cellRef, Context context) {
    Size size = this.area.applyAt(cellRef, context);

    PoiTransformer transformer = (PoiTransformer) area.getTransformer();
    Row row = transformer.getWorkbook().getSheet(cellRef.getSheetName()).getRow(cellRef.getRow());
    row.setHeight((short) -1);

    return size;
    }
    }

    配置要使用的命令
    // static method call:
    XlsCommentAreaBuilder.addCommandMapping("autoRowHeight", AutoRowHeightCommand.class);

    JxlsHelper.getInstance().processTemplate(is, os, context);

    使用命令

    在 template.xlsx 文件中编辑已经包含循环命令的单元格注释,并将 autoRowHeight 命令添加为新行,例如:
    jx:each(items="myitems", var="i", lastCell="B4")
    jx:autoRowHeight(lastCell="B4")

    感谢 Leonid VysochynFranz Frühwirth ,他们引导我找到了这个解决方案。

    关于apache-poi - JXLS 根据内容自动调整行高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39437194/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com