Excle 報表匯出得一點心得

2021-10-02 07:57:39 字數 2360 閱讀 2478

excle 匯出 有很多現有得整合api,例如 easypoi,非常好用,尤其是使用 模板語法,簡直是爽的不要不要的。如果 不想使用模板呢 ? 那就得自己使用原生得poi來操作了。

我這裡介紹一種比較簡單得方式,沒有合併單元格。優點:1.資料填充靈活 2. 對於列 控制簡單 ;

缺點:列明設定有點傻 ,有待優化。

邏輯主要分三步:

1.設定設定實體類(注意,實體類欄位要和匯出得列明一一對應)

2. 組織資料為list3.填充資料

4.匯出

實體類

public class customermanagervo
listlist = //處理邏輯
//列的名稱

listcollistname = new arraylist();

collistname.add("姓名");

collistname.add("內勤工號");

collistname.add("營銷工號");

collistname.add("二級機構");

collistname.add("**機構");

collistname.add("四級機構");

collistname.add("崗位性質");

collistname.add("角色");

collistname.add("在/離職");

collistname.add("客戶數量");//合併單元格

collistname.add("累計儲備");

collistname.add("新增儲備");

collistname.add("邀約");

collistname.add("面談");

collistname.add("提交建議書");

collistname.add("成交");

//1.建立工作簿

hssfworkbook workbook = new hssfworkbook();

//2.建立工作表

hssfsheet sheet = workbook.createsheet("彙總");

sheet.setdefaultcolumnwidth(10);

sheet.setcolumnwidth(1, 16 * 256);

for(int i=0;i<9;i++)

cellrangeaddress c2= new cellrangeaddress(0,0,9,14);

sheet.addmergedregion(c2);

//建立第一行

hssfrow row = sheet.createrow(0);

hssfcellstyle cellstyle = workbook.createcellstyle();

cellstyle.setalignment(hssfcellstyle.align_center);

for(int i=0;i<9;i++)

hssfcell cell9 = row.createcell(9);

cell9.setcellvalue(collistname.get(9));

cell9.setcellstyle(cellstyle);

//建立第二行

hssfrow row1 = sheet.createrow(1);

for(int i=0;i<6;i++)

//填充資料

if(userinfolist!=null)

class arr = new class[fieldlist.size()];

for(int i=0;is = fieldlist.get(i).gettype();

arr[i] = s;

} return arr;

} @override

public object generateattrvalue(string fieldname,class<?> cla, object obj) );

object value = method.invoke(obj, new object {});

if (value == null)

if(cla == integer.class || cla == double.class ||cla == float.class || cla == bigdecimal.class) else if (cla == date.class) else if (cla == timestamp.class)

return value;

}catch (exception e)

}

以上所有邏輯,歡迎提出優化的點

SQL一點心得

sql語句將所有 stock 表裡的 縮寫 led甲 替換改寫成 led刷 update dbo stock set 縮寫 replace 縮寫 led甲 led刷 where 縮寫 like led甲 go字首 update mytable set myfield replace myfield,...

Cell myCell一點心得

ctor initializer形如 cell cell mvalue 0 mstring ctor initializer,能在建立資料成員的同時賦初值 1.const方法的工作原理是將方法內用到的資料成員都標記為const引用。因此試圖修改資料成員時,編譯器報錯。2.用explicit關鍵字標記...

openjudge 一點心得

031 校門外的樹 總時間限制 1000ms 記憶體限制 65536kb 描述某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來...