Saat mengerjakan proyek sistem, Anda sering perlu melakukan fungsi ekspor, apakah itu untuk mengekspor file Excel atau mengekspor CVS. Demo saya di bawah ini diimplementasikan di bawah kerangka SpringMVC.
1. Di JS, Anda hanya perlu menggunakan mode GET untuk meminta ekspor:
$ ('#Word-Export-Btn'). Parent (). On ('Click', function () {var promionword = json.stringify ($ ('#MainForm'). SerializeObject ()); location.href = "$ {ctx}/promionword/export? PromiTionword ="+promosi;2. Yang perlu Anda lakukan di pengontrol adalah untuk mengeluarkan file dalam format stream data:
@RequestMapping ("/Ekspor") public void Export (Sesi httpsession, string promionword, permintaan httpservletRequest, httpservletResponse response) melempar ioException {user sessionUser = (user) session.getAttribute ("user"); JsonObject jsonobj = jsonobject.parseObject (promionword); Hssfworkbook wb = promotion wordservice.export (sessionUser.getId (), jsonobj); response.setContentType ("Application/vnd.ms-excel"); Calendar cal = calendar.getInstance (); SimpleDateFormat SDF = new SimpleDateFormat ("yyyy-mm-dd"); String filename = "word-" + sdf.format (cal.getTime ()) + ".xls"; response.setHeader ("Disposisi Konten", "lampiran; fileName =" + nama file); OutputStream ouputstream = response.getoutputStream (); wb.write (ouputstream); ouputstream.flush (); ouputstream.close (); }3. Dalam Layanan, data perlu ditulis ke file format:
Ekspor Publik HSSFWorkBook (String UserID, JSONOBJECT JSONOBJ) {HSSFWORKBOOK WB = HSSFWORKBOOK baru (); Hssfsheet sheet = wb.createSheet ("word"); Hssfrow row = sheet.createrow (0); Hssfcellstyle style = wb.createCellstyle (); style.setalignment (hssfcellstyle.align_center); Daftar <PromotionWord> PwordList; peta <string, object> peta = hashmap baru <> (); peta.put ("userid", userid); peta.put ("checkexistrule", jsonobj.getString ("checkexistrule")); peta.put ("status", jsonobj.getstring ("status")); peta.put ("", jsonobj.getstring ("status")); peta. jsonObj.getString("qsStar"));map.put("impressionCount", jsonObj.getString("impressionCount"));map.put("selectGroupId", jsonObj.getString("selectGroupId"));map.put("isCheck", jsonObj.getString("isCheck"));map.put("word", jsonObj.getString("word"));Long impression = jsonObj.getLong("impressionCount");Long click = jsonObj.getLong("clickCount");if(impression != null){PromotionWord word = new PromotionWord();word.setCreatedBy(userId);word.setImpressionCount7(impression);pWordList = getTWentyPentLists (word); if (p wordlist! = null && p wordlist.size ()> 0) {map.put ("ImpressionCount", pwordlist.get (pwordlist.size ()-1) .getImpressionCount ());} else {Map.put ("ImpressionCount (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression ("Impression (" Impression (" new promtionword (); word.setCreatedBy (userid); word.setClickCount7 (klik); p wordlist = getTwentypercentlists (word); if (pwordlist! = null && p wordlist.size ()> 0) {peta.put ("clickcount", p wordlist.get (p wordlist.size ()-1) .getClickCount ());} else {map.put ("clickcount", 1);}} Daftar <Mromtionword> list = commondao.querylist (promotion_word_dao + ".QueryExportDataByuser", "poifing);" dordeer = "." Panas "," peringkat promosi "," beli panas "," paparan "," klik-through "," waktu klik-tayang "," waktu promosi "," pengeluaran "," klik rata-rata "," produk yang cocok "," perkiraan peringkat "," status "}; untuk (int i = 0; i <excelheader.length; i ++) {hssfcell cell = row.createCell (i); cell.setCellValue (Excelheader [i]); cell.setCellstyle (gaya); if (i == 0) {sheet.setColumnWidth (0, 30*256); } else {sheet.setColumnWidth (i, 10*256); }} if (list! = null && list.size ()> 0) untuk (int i = 0; i <list.size (); i ++) {row = sheet.createrow (i+1); Promosi kata = list.get (i); row.createCell (0) .setCellValue (word.getWord ()); row.createCell (1) .setCellValue (word.getPrice ()+""); row.createCell (2) .setCellValue (word.getSearchCount ()); row.createCell (3) .setCellValue (word.getqsstar ()); row.createCell (4) .setCellValue (word.getBuyCount ()); row.createCell (5) .setCellValue (word.getImpressionCount7 ()); row.createCell (6) .setCellValue (word.getClickCount7 ()); row.createCell (6) .setCellValue (word.getClickCount7 ()); if (word.getClickCount7 () == 0L) {row.createCell (7) .setCellValue ("0,00%"); } else {decimalformat df = new decimalformat ("0,00%"); row.createCell (7) .setCellValue (df.format ((double.valueof (word.getClickCount7 ()))/double.valueof (word.getImpressionCount7 ())))); } row.createCell (8) .setCellValue (word.getonlinetime7 ()); row.createCell (9) .setCellValue (word.getCost7 ()+""); row.createCell (10) .setCellValue (word.getAvgCost7 ()+""); row.createCell (11) .setCellValue (word.getMatchCount ()); String rank = ""; if (word.getMatchCount ()! = null && word.getMatchCount ()! = 0) {if (word.getProspectrank () == null || word.getprosposcectrank () == 0l) {rank = "posisi lain"; } else {rank = "" th "+word.getprospectrank ()+" bit ";}} else {rank =" --- ";} row.createCell (12) .setCellValue (rank); row.createCell (13) .setCellValue (word.getstatus () == 1?"Dengan cara ini, Anda dapat mengklik untuk mengekspor secara langsung dan itu akan efektif.
Di atas adalah seluruh konten dari metode sederhana untuk mengekspor file Excel di Javaweb kepada Anda. Saya harap semua orang akan mendukung wulin.com lebih banyak ~