问题

有个需求,导出导出的 Excel 需要设置最小高度,比如最小高度是 56px,当内容的高度低于 56 的时候,行高设置为 56,当内容高度大于 56 的时候,根据内容高度自适应。

因为 excel 的行高只能设置固定大小,或者设置自适应,而没办法设置上述最小行高,所以普通的办法是做不到这个需求的。

解决

可以通过设置字体大小来解决这个最小行高问题。也不知道这是 excel 的 feat 还是 bug。

  1. 设置单元格格式——对齐——自动换行——确定

  2. 选中一列不使用的列(空白列),把字体设置一下,这样就有了一个最小行高,比如如果字体大小是 18,那么最小行高就是 22.5。

这样可以解决问题,但是相当于废了一个 cell,不过可以接受。

如果换成代码实现的话,可以用 poi 去按照上述步骤设置,当然也可以自己提前编辑好一个模版文件,
然后使用 poi 直接 copy 模版文件的格式。