Kata pengantar
Saya percaya bahwa banyak teman akan mengekspor data ke persyaratan Excel dalam pekerjaan aktual. Biasanya ada dua cara untuk melakukan ini.
Pertama, gunakan JXL untuk menghasilkan Excel, lalu simpan ke server, lalu unduh file setelah halaman dihasilkan.
Yang kedua adalah menggunakan POI untuk menghasilkan Excel, dan kemudian menggunakan aliran untuk mengeluarkannya ke meja depan untuk mengunduhnya secara langsung (PS: tentu saja, itu juga dapat dihasilkan ke server dan kemudian diunduh.). Di sini kita membahas tipe kedua.
Jalan Struts2
Biasanya saya akan memasukkan HSSFWorkBook yang sudah dihasilkan ke dalam inputstream dan kemudian pergi ke file konfigurasi XML untuk mengubah hasil pengembalian menjadi streaming. sebagai berikut:
Private Void ResponseData (HSSFWorkbook WB) melempar IoException {ByTeArrayOutputStream Baos = ByTeArrayOutputStream (); WB.Write (Baos); baos.flush (); byte [] aa = Baos.TobyTeArray (); excelstream = bytearrayInputStream baru (aa, 0, aa.length); baos.close ();}File Konfigurasi:
<action name = "exportxxx" method = "exportxxx"> <result name = "exportSuccess" type = "stream"> <param name = "inputName"> excelstream </param> <param name = "contentType"> lampiran/vnd.ms-excel </param> <param name = "contentDisposition"> lampiran; "lampiran =" filen name = "contentDisposition"> lampiran = "lairan =" name name = "ContentDisposisi"> </hasilnya> </action>
Ini akan mencapai tujuan mengklik tautan untuk mengunduh file secara langsung.
Cara springmvc
Posting kode terlebih dahulu:
@RequestMapping ("/exportxxx.action") public void ExportXXX (permintaan httpservletRequest, respons httpservletResponse, @RequestParam (value = "jadwalid", defaultValue = "0") int jadwal) {hssfworkbook wb = createxcel (jadwal); coba {response.setHeader ("Disposisi konten", "lampiran; fileName = janjimentUser.xls"); response.setContentType ("Application/vnd.ms-excel; charset = utf-8"); OutputStream out = response.getoutputStream (); wb.write (out); out.flush (); out.close (); } catch (ioException e) {e.printstacktrace (); }} Faktanya, SpringMVC dan Struts2 pada prinsipnya sama, tetapi Struts2 adalah cara untuk mengkonfigurasi file. Pertama, gunakan metode createExcel() untuk menghasilkan Excel dan mengembalikannya. Akhirnya, gunakan response untuk output excel ke latar depan. Metode ini umum, dan Anda juga dapat mencobanya dengan Servlet、Struts2 , dll. Kami hanya perlu mengatur informasi output yang sesuai dalam informasi header response .
Meringkaskan
Apakah menggunakan Struts2 atau SpringMVC, itu pada dasarnya adalah respons yang digunakan, jadi selama kita memahami responsnya secara menyeluruh, apakah itu mengunduh gambar, dunia, excel atau file lain, itu sama.
Alamat GitHub: https://github.com/crossoverjie
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.