欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java實現(xiàn)將mysql導出excel表

呂致盈2年前12瀏覽0評論

Java實現(xiàn)將MySQL導出Excel表

前言:

在日常開發(fā)中,開發(fā)人員經常需要將MySQL中的數(shù)據(jù)導出到Excel中進行排版整理或做其他用途。Java提供了豐富的工具支持,使用Java將MySQL數(shù)據(jù)導出Excel十分方便,下面我們就一起來學習Java將MySQL導出Excel的實現(xiàn)方法吧。

步驟一:導入依賴

首先,我們需要在pom.xml文件中導入依賴,這里我們可以使用poi,對于poi的版本,可以根據(jù)自己的需求進行選擇,建議使用最新版本的poi:

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency>

步驟二:編寫導出方法

接下來我們開始編寫導出方法,具體的方法實現(xiàn)如下:

public void exportExcel(HttpServletResponse response, List<Object[]> dataList, String fileName, String[] columnNames, String[] columns) { try { //創(chuàng)建Excel工作簿對象 HSSFWorkbook workbook = new HSSFWorkbook(); //創(chuàng)建Excel工作表對象 HSSFSheet sheet = workbook.createSheet(); //在工作表中添加表頭 HSSFRow row0 = sheet.createRow(0); for (int i = 0; i < columnNames.length; i++) { HSSFCell cell = row0.createCell(i); cell.setCellValue(columnNames[i]); } //在工作表中添加數(shù)據(jù) for (int i = 0; i < dataList.size(); i++) { Object[] data = dataList.get(i); HSSFRow row = sheet.createRow(i + 1); for (int j = 0; j < columns.length; j++) { HSSFCell cell = row.createCell(j); cell.setCellValue(String.valueOf(data[j])); } } //設置響應頭 response.setContentType("application/octet-stream;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "iso-8859-1")); //將Excel文件寫到輸出流中 OutputStream os = response.getOutputStream(); workbook.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); } }

步驟三:調用導出方法

最后,我們只需要在需要導出的地方,調用導出方法即可:

public void exporExcel(){ //查詢需要導出的數(shù)據(jù) List<Object[]> dataList = listData(); //定義表頭 String[] columnNames = {"姓名","年齡","性別"}; //定義數(shù)據(jù)字段 String[] columns = {"name","age","sex"}; //定義文件名 String fileName = "學生信息表.xls"; try { //將數(shù)據(jù)導出Excel exportExcel(response,dataList,fileName,columnNames,columns); } catch (Exception e) { e.printStackTrace(); } }

總結:

通過上面的簡單三步,我們就可以使用Java將MySQL中的數(shù)據(jù)導出到Excel中了,非常方便,同時也適用于其他數(shù)據(jù)庫。當然還有很多細節(jié)需要處理,比如日期的格式化等等,但是整體的思路就是這樣的,希望對大家有所幫助。

上一篇mysql 1141
下一篇mysql 1111