poi操作excel涉及多個圖片,列表,標題,摘要拼接組合問題
阿新 • • 發佈:2018-12-14
前言:
在實際專案之中,特別是遇到報表管理模組,客戶會要求,匯出excel檔案是動態的,其格式應該依據使用者勾選條件而變化,比如有四個勾選項,勾選第一個選項顯示一張圖片,勾選第二個選項顯示一張整體統計圖,勾選第三個顯示n張區域性詳細圖,勾選第四個顯示列表。
那麼問題來了:
1.前端如何傳遞勾選情況?
2.後臺如何對勾選情況進行處理?
問題1: 前端傳遞一個字串到後臺,以逗號分隔。以ssm框架為例:
String type1 = request.getParameter("chartType");//獲取傳遞字串
問題2: ①解析為字元陣列
String stype[] = null; stype = type1.split(","); System.out.println("前端勾選情況:"); for(int i = 0;i < stype.length;i++){ System.out.println("第"+(i+1)+"個:"+stype[i]); }
②關鍵點:對傳遞的引數進行解析,因為傳遞引數是有序的,比如 123,不可能是432。所以先將資料產生的相應的圖片的地址,按照勾選情況存入圖片地址字串陣列。
if(stype.length == 1){ //長度為1,取出勾選值,依據勾選值建立相應圖表,插入到一個Excel表格裡面 selectFK[0] = Integer.parseInt(stype[0]); if(selectFK[0] == 1) imagePathFK[0] = dir+"/rose.png"; if(selectFK[0] == 2) imagePathFK[0] = dir+"/AllWindDistriBution.png"; if(selectFK[0] == 3) { for(int i = 0; i < pname.length; i++) { imagePathFK[i] = dir+"/" + pname[i]; } } }
③傳遞引數勾選字串陣列,圖片地址儲存陣列到建立excel方法
wb = WindDistriButionExcel.exportReport(selectFK,imagePathFK,stype,2);
④建立迴圈,如果勾選引數數組裡面有相應的選項,則對excel插入相應內容
for(int j = 0; j < stype.length ; j++){
//如果勾選了風玫瑰圖取imagePath[0]
if(Integer.parseInt(stype[j]) == 1){
略
}
}
⑤完成格式編輯,測試做細微調整