java導(dǎo)出數(shù)據(jù)庫中Excel表格數(shù)據(jù)的方法
本篇文章基于java把數(shù)據(jù)庫中的數(shù)據(jù)以Excel的方式導(dǎo)出,歡迎各位大神吐槽:
1、基于maven jar包引入如下:
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
2、首先創(chuàng)建數(shù)據(jù)庫對應(yīng)的實體類VO :UserVO(具體代碼省略);
3、確定導(dǎo)出Excel內(nèi)的title列,并放在數(shù)組里:String[] (具體代碼省略);
4、編寫導(dǎo)出Excel的方法:
傳入?yún)?shù):
Excel名稱,Excel內(nèi)的title列數(shù)組String[],數(shù)據(jù)集合List<UserVO>
package bp.util; import java.io.OutputStream; import java.util.List; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Field; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.VerticalAlignment; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ExportExcel { public final static String exportExcel(String fileName, String[] Title, List listContent, HttpServletResponse response) { String result = "Excel文件導(dǎo)出成功!"; try { OutputStream os = response.getOutputStream(); response.reset(); response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("GB2312"), "ISO8859-1")); response.setContentType("application/msexcel"); WritableWorkbook workbook = Workbook.createWorkbook(os); WritableSheet sheet = workbook.createSheet("Sheet1", 0); jxl.SheetSettings sheetset = sheet.getSettings(); sheetset.setProtected(false); WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD); WritableCellFormat wcf_center = new WritableCellFormat(BoldFont); wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); wcf_center.setAlignment(Alignment.CENTRE); wcf_center.setWrap(true); for (int i = 0; i < Title.length; i++) { sheet.setColumnView(i, 20); sheet.addCell(new Label(i, 0, Title[i], wcf_center)); } Field[] fields = null; int i = 1; for (Object obj : listContent) { fields = obj.getClass().getDeclaredFields(); int j = 0; for (Field v : fields) { v.setAccessible(true); Object va = v.get(obj); if (va == null) { va = ""; } sheet.addCell(new Label(j, i, va.toString(), wcf_center)); j++; } i++; } workbook.write(); workbook.close(); } catch (Exception e) { result = "Excel文件導(dǎo)出失敗"; e.printStackTrace(); } return result; } }
在需要導(dǎo)出數(shù)據(jù)的時候調(diào)用此方法即可;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java?Web項目中如何添加Tomcat的Servlet-api.jar包(基于IDEA)
servlet-api.jar是在編寫servlet必須用到的jar包下面這篇文章主要給大家介紹了基于IDEAJava?Web項目中如何添加Tomcat的Servlet-api.jar包的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04使用注解@Recover優(yōu)化丑陋的循環(huán)詳解
我們知道在實現(xiàn)一個功能的時候是可以使用不同的代碼來實現(xiàn)的,那么相應(yīng)的不同實現(xiàn)方法的性能肯定也是有差別的,下面這篇文章主要給大家介紹了關(guān)于使用注解@Recover優(yōu)化丑陋的循環(huán)的相關(guān)資料,需要的朋友可以參考下2022-04-04java中ExecutorService創(chuàng)建方法總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于java中ExecutorService創(chuàng)建方法總結(jié),有興趣的朋友們可以參考下。2021-01-01Java如何獲取數(shù)組和字符串的長度(length還是length())
這篇文章主要介紹了Java如何獲取數(shù)組和字符串的長度(length還是length()),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12