本篇文章给大家带来的内容是关于如何使用SpringMVC生成一个Excel文件?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
通过Java来生成Excel文件或者导入一个Excel文件的数据都需要用到Apache的一个POI包,这里我就先把这个包提供出来。
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency>
这里我用的SpringBoot创建的项目,创建过程就不做累述了,直接操刀,开始把数据库的数据导成一个Excel文件
正式开始写这个Demo
1.创建一个ExcelUtil类,这个类就是对Excel进行操作,主要两个方法。
1-1.exportFile():把数据导出成一个Excel文件;
1-2.importFile():把指定文件的数据导入进来;
users表结构如下:
id | username | password | +----+-----------+-----------+ | 1 | yx12156ok | yx27787ok | | 2 | yangxiang | 123456 | | 3 | zhangsan | 666666 | | 4 | wangwu | 999999 | | 5 | xiaoming | xiaoming这里先贴出ExcelUtil类导入的实现,下面再做详细解释:
public class ExcelUtil { private final String excel2003 = "xls"; private final String excel2007 = "xlsx"; private Workbook workbook; private Sheet sheet; private Row row; private Cell cell; private CellStyle style; private File file; //初始化表结构和生成表头 public ExcelUtil(String[] titles,File file) { this.file = file; String fileName = this.file.getName(); this.workbook = getWorkbook(fileName); if(workbook == null) return; this.sheet = this.workbook.createSheet(); this.row = this.sheet.createRow(0); this.style = this.workbook.createCellStyle(); this.style.setAlignment(CellStyle.ALIGN_CENTER); for(int i = 0 ; i < titles.length ; i ++) { cell = row.createCell(i); //创建列 cell.setCellValue(titles[i]); //赋值 cell.setCellStyle(style); //样式 } } public void genertedExportUsersFile(List<Users> data) throws IOException { //遍历每一行数据 for(int i = 0; i < data.size() ; i ++) { int j = 0; Users user = data.get(i); row = sheet.createRow(i+1); row.setRowStyle(style); row.createCell(j++).setCellValue(Optional.of(user.getId()).orElse(null)); row.createCell(j++).setCellValue(Optional.of(user.getUsername()).orElse(null)); row.createCell(j++).setCellValue(Optional.of(user.getPassword()).orElse(null)); } } public void genertedExportStudentFile(List<Student> data) { //遍历每一行数据 for(int i = 0,j = 0 ; i < data.size() ; i ++) { Student student = data.get(i); row = sheet.createRow(i+1); row.setRowStyle(style); row.createCell(j++).setCellValue(Optional.of(student.getId()).orElse(null)); row.createCell(j++).setCellValue(Optional.of(student.getUsername()).orElse(null)); row.createCell(j++).setCellValue(Optional.of(student.getPassword()).orElse(null)); row.createCell(j++).setCellValue(Optional.of(student.getStuname()).orElse(null)); row.createCell(j++).setCellValue(Optional.of(student.getStusex()).orElse(null)); } } public void write() throws IOException { //把数据写入表格文件 OutputStream out = new FileOutputStream(this.file); this.workbook.write(out); out.close(); } private Workbook getWorkbook(String fileName) { //根据文件后缀名来获取Excel文件是2003版的还是2007版的 String type = checkFileType(fileName); //根据版本的不同实例不同的对象 if(type.equals(this.excel2003)) return new HSSFWorkbook(); else if(type.equals(this.excel2007)) return new XSSFWorkbook(); return null; } private String checkFileType(String fileName) { return fileName.substring(fileName.lastIndexOf(".")+1); } }
现在我就来讲一讲几个方法的作用:
Constructor方法:对表结构对象进行初始化以及生产表头;
genertedExportUsersFile方法:生成表的数据,此时数据应该还未真正写入;
write方法:把生成的表写入传入的File类里,也就是创建的文件;
getWorkbook方法:获取2003版本的或者2007版本的Excel对象;
checkFileType方法:获取文件的后缀名。
Atas ialah kandungan terperinci 如何使用SpringMVC生成一个Excel文件?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

JVMmanagesgarbagecollectionacrossplatformseffectivelybyusingagenerationalapproachandadaptingtoOSandhardwaredifferences.ItemploysvariouscollectorslikeSerial,Parallel,CMS,andG1,eachsuitedfordifferentscenarios.Performancecanbetunedwithflagslike-XX:NewRa

Kod Java boleh dijalankan pada sistem pengendalian yang berbeza tanpa pengubahsuaian, kerana falsafah "Write Once, Run, Everywhere" Java dilaksanakan oleh Java Virtual Machine (JVM). Oleh kerana perantara antara bytecode Java yang disusun dan sistem operasi, JVM menerjemahkan bytecode ke dalam arahan mesin tertentu untuk memastikan program itu dapat dijalankan secara bebas di mana -mana platform dengan JVM dipasang.

Penyusunan dan pelaksanaan program Java mencapai kemerdekaan platform melalui Bytecode dan JVM. 1) Tulis kod sumber Java dan menyusunnya ke dalam bytecode. 2) Gunakan JVM untuk melaksanakan bytecode pada mana -mana platform untuk memastikan kod berjalan di seluruh platform.

Prestasi Java berkait rapat dengan seni bina perkakasan, dan memahami hubungan ini dapat meningkatkan keupayaan pengaturcaraan dengan ketara. 1) JVM menukarkan bytecode Java ke dalam arahan mesin melalui kompilasi JIT, yang dipengaruhi oleh seni bina CPU. 2) Pengurusan memori dan koleksi sampah dipengaruhi oleh RAM dan kelajuan bas memori. 3) Ramalan cache dan cawangan mengoptimumkan pelaksanaan kod Java. 4) Pemprosesan pelbagai threading dan selari meningkatkan prestasi pada sistem multi-teras.

Menggunakan perpustakaan asli akan memusnahkan kemerdekaan platform Java, kerana perpustakaan ini perlu dikumpulkan secara berasingan untuk setiap sistem operasi. 1) Perpustakaan asli berinteraksi dengan Java melalui JNI, menyediakan fungsi yang tidak dapat dilaksanakan secara langsung oleh Java. 2) Menggunakan perpustakaan asli meningkatkan kerumitan projek dan memerlukan menguruskan fail perpustakaan untuk platform yang berbeza. 3) Walaupun perpustakaan asli dapat meningkatkan prestasi, mereka harus digunakan dengan berhati-hati dan menjalankan ujian silang platform.

JVM Mengendalikan Perbezaan API Sistem Operasi melalui JavanativeInterface (JNI) dan Perpustakaan Standard Java: 1. JNI membenarkan kod Java untuk memanggil kod tempatan dan terus berinteraksi dengan API Sistem Operasi. 2. Perpustakaan Standard Java menyediakan API bersatu, yang dipetakan secara dalaman kepada API sistem operasi yang berbeza untuk memastikan kod tersebut berjalan di seluruh platform.

modularitydoesnotdirectlyaffectjava'splatformindected.java'splatformindectenceismaintybythejvm, butmodularityinfluencesapplicationstructureandManagement, indirectlyimpactingplatformindect.1) DeploymentandmentandmentweMbecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecombecom

BytecodeinjavaistheintermediaterepresentationThateNableSplatformindant.1) javacodeiscompiledintobytecodestoredin.classfiles.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
