easyexcel自適應列寬的一種方式

2021-10-05 23:25:05 字數 1029 閱讀 3436

源**中,是讀取所有列的長度,然後取最大列的長度,但是它的本地快取用的是static final,導致每次匯出的列寬都和第一次的一樣,這樣就不能實現自適應了,所以我就取巧了下…

public class custemhandler extends abstractcolumnwidthstylestrategy 

protected void setcolumnwidth(writesheetholder writesheetholder, listcelldatalist, cell cell, head head, integer relativerowindex, boolean ishead)

integer columnwidth = this.datalength(celldatalist, cell, ishead);

if (columnwidth >= 0)

integer maxcolumnwidth = (integer)((map)maxcolumnwidthmap).get(cell.getcolumnindex());

if (maxcolumnwidth == null || columnwidth > maxcolumnwidth) }}

}private integer datalength(listcelldatalist, cell cell, boolean ishead) else else }}

}}

使用:

easyexcel.write(outstream).needhead(true).exceltype(exltype).

registerwritehandler(new custemhandler()).

sheet("sheet").head(heads2).dowrite(alldata);

我這邊不用註解是因為要自定義匯出的列…

ABAP ALV自適應列寬

alv輸出的時候,可以直接用layout cwidth opt來設定自適應列寬,這樣可以滿足大部分需求,但是如果alv中有編輯或者輸出,那我們需要重新定義一下列寬。如果使用的是函式alv的方式,那麼可以參考如下 data lv grid type ref to cl gui alv grid.dat...

使用POI匯出Excel自適應列寬的實現

使用poi匯出excel時,涉及到如何自適應列寬的問題。方法如下 4 內容 for int i 0 i tablebody.size i else int length createcell.getstringcellvalue getbytes length 256 200 這裡把寬度最大限制到1...

JqGrid自適應列寬度

國內外的 都翻了一遍都沒有找到乙個通用的jqgrid能自適應列寬的方法,要麼是太繁瑣,要麼是不能用,通過參照這篇文章,自己稍作修改寫了個通用的,希望能幫到那些苦苦尋覓的人。如下 首先設定div樣式,該樣式隨意放,只要能找到就行 class ui jqgrid ui widget ui widget ...