Java +EasyUI+SpringMvc實現Excle匯入匯出(下)
前言
接上篇,在上篇文章我們介紹了要實現Excle匯入做的一些配置和Excel匯入的前端EasyUI程式碼的書寫和後臺controller的具體書寫,這篇我們我們主要來學習Excle匯出的實現和ExcelUtil類的編寫。
正題
Excel匯出就是根據前臺條件將引數傳到controller,根據引數去資料庫中進行查詢,查詢出list集合,呼叫ExcelUtil工具類,將list集合轉為成excle資料,輸出到瀏覽器。
匯出實現
首先我們先來看下前臺程式碼,前臺獲取引數,將引數傳到對於的controller中:
//匯出題庫 function toDownLoadExcel(){ //獲取題型 var id= $('#questionType').combobox('getValue') var questionTypes=encodeURI(id); //獲取課程 var courseTypeId =$('#courseTypeId').combobox('getValue') var courseType=encodeURI(courseTypeId); if(questionTypes !=""){ document.getElementById("downLoadExcel").href ="${pageContext.request.contextPath}/leadtoQuestionTypes/leadToExcelQuestionBank?questionType="+questionTypes+"&courseType="+courseType; $.messager.alert('提示','操作成功!','info'); }else{ $.messager.alert('提示','請選擇課程題型!','info'); } }
後臺controller獲取前臺傳來的引數,根據引數去資料庫查詢list集合,將list集合通過工具類進行轉化,將Excle輸出到瀏覽器
/** * 匯出excel題型題庫 * * @param request 請求 * * @param resposne 響應 * * @throws UnsupportedEncodingException 編碼異常 * */ @RequestMapping("/leadToExcelQuestionBank") public void leadToExcelQuestionBank(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException { try { // 獲取前臺傳來的題型和課程 String questionType = request.getParameter("questionType").trim(); String courseType = request.getParameter("courseType").trim(); String questionTypeNameId = new String( questionType.getBytes("iso-8859-1"), "utf-8"); String courseTypeId = new String(courseType.getBytes("iso-8859-1"), "utf-8"); // excel表格的表頭,map LinkedHashMap<String, String> fieldMap = leadToInQuestionTypesManageBean.getMapLeadToExcelQuestionBank(questionTypeNameId); // excel的sheetName String sheetName = "題庫"; // excel要匯出的資料 List list = leadToInQuestionTypesManageBean.leadToExcelQuestionBank(questionTypeNameId, courseTypeId); // 匯出 if (list == null || list.size() == 0) { System.out.println("題庫為空"); }else { //將list集合轉化為excle ExcelUtil.listToExcel(list, fieldMap, sheetName, response); System.out.println("匯出成功~~~~"); } } catch (ExcelException e) { e.printStackTrace(); } }
其中list集合轉化為excle時候的引數fieldMap,是匯出的資料庫欄位和excle中的中文表頭map,方法如下:
/** * 得到匯出Excle時題型的英中文map * * @return 返回題型的屬性map */ public LinkedHashMap<String, String> getLeadToFiledPublicQuestionBank() { LinkedHashMap<String, String> superClassMap = new LinkedHashMap<String, String>(); superClassMap.put("stemContent", "題幹內容"); superClassMap.put("difficulty", "難度等級"); superClassMap.put("scoreCoefficient", "分值係數"); superClassMap.put("chapter", "章節"); superClassMap.put("availability", "是否使用"); return superClassMap; }
在上一篇文章中的excle資料轉為list集合時,也用到了一個map,那個map時excle中文表頭和資料庫欄位的map集合,方法如下:
/**
* 得到匯入Excle時,題型類的中英文map
*
* @return 返回題型類的屬性map
*/
public LinkedHashMap<String, String> getLeadInFiledPublicQuestionBank() {
// excel的表頭與文字對應
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
map.put("題幹內容", "stemContent");
map.put("難度等級", "difficulty");
map.put("分值係數", "scoreCoefficient");
map.put("章節", "chapter");
map.put("是否使用", "availability");
return map;
}
ExcelUtil工具類
在介紹ExcelUtil工具類之前,我們應該先了解下Jxl,Jxl是一個開源的Java Excel API專案,通過Jxl,Java可以很方便的操作Excel文件。我們實現的Excle匯入匯出就是利用了Jxl,當然了除了Jxl,Apache的一個POI也可以操縱Excle,只不過兩者相比,Jxl使用簡單比較容易上手,POI稍微複雜點。而Jxl的缺點就是目前Jxl還不能操作Excle2000以上的版本。
我們本次使用的Jxl是2.6.12版本的,在maven的pom.xml檔案中新增Jxl的座標依賴:
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
而我們使用的ExcelUtil工具類,可以完成的功能是將list轉化為Excle輸出到瀏覽器,同時也可以完成將Excle轉化為list集合,還可以設定excle列寬等。
關於ExcelUtil類程式碼比較多,感興趣的同學可以自行下載。
小結
Excle的匯入和匯出是我們在開發中經常遇到的問題,通過這兩篇文章,我們就利用Jxl簡單完成了excle的操作,實現了excle的匯入和匯出。
相關推薦
Java +EasyUI+SpringMvc實現Excle匯入匯出(下)
前言 接上篇,在上篇文章我們介紹了要實現Excle匯入做的一些配置和Excel匯入的前端EasyUI程式碼的書寫和後臺controller的具體書寫,這篇我們我們主要來學習Excle匯出的實現和ExcelUtil類的編寫。 正題 Excel匯出就
Java +EasyUI+SpringMvc實現Excel匯出
正題 Excel匯出就是根據前臺條件將引數傳到controller,根據引數去資料庫中進行查詢,查詢出list集合,呼叫ExcelUtil工具類,將list集合轉為成excel資料,輸出到瀏覽器。 匯出實現 首先我們先來看下前臺程式碼,前臺獲取引數,將引
java利用POI實現Excel匯入匯出詳解-支援97-2013版本以及2017版本
package com.kero99.ygc.excel; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.
Java SSM註解實現POI匯入匯出Excel
POI生成Excel設定單元格格式: HSSFWorkbook demoWorkBook = new HSSFWorkbook(); HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 En
JAVA實現Excel匯入匯出
JXL實現Excel的Excel匯入匯出 JXL實現Excel的建立 JXL建立Excel檔案 /** * JXL建立Excel檔案 * @author c * */ publ
Java 實現Excel匯入匯出(包含一些簡單樣式設定)工具類
最近很奇怪,客戶各種各樣奇葩的需求,匯出個表格設計各種樣式,真心無語,網上找了很多資料,新手就是這麼坑爹,找東西都不能有點速度!沒辦法,水平所致。提供給跟我差不多水平的朋友參考。 package com.cicro.fuchen.util.excel;
POI實現大資料EXCLE匯入匯出,解決記憶體溢位問題
/** * 抽象Excel2007讀取器,excel2007的底層資料結構是xml檔案,採用SAX的事件驅動的方法解析 * xml,需要繼承DefaultHandler,在遇到檔案內容時,事件會觸發,這種做法可以大大降低 * 記憶體的耗費,特別使用於大資料量的檔案。 * */ public cl
記 springmvc使用POI,快速實現Excel匯入匯出
匯出Excel整體來說,Excel有.xls和.xlsx,那麼在POI中這兩個也對應兩個不同的類,但是類名不同,方法基本都是一致的,因此我這裡將只介紹.xls一種。整體來說,可以分為如下七個步驟:1.建立Excel文件HSSFWorkbook workbook = new H
Java +Tomcat + SpringMVC實現頁面訪問
技術分享 build page gmv req base and 創建 pub 2018-07-18 14:38:29window7下Java環境安裝記錄:一、安裝Tomcat1、下載tomcat 7.0,解壓,無需安裝,放置到目錄:D:\apache-tomcat-7.0
yii框架實現phpexcel匯入匯出
yii框架實現phpexcel匯入匯出 首先進行phpexcel安裝 網上有很多擴充套件安裝,這裡就不介紹了,可以通過composer安裝,也可以手動下載引入,這裡需要注意的是composer和手動下載在引用類時不太一樣,composer安裝的直接用根名稱空間即可"/PHPExc
springboot2整合easypoi,實現Excel匯入匯出
1.新增Maven依賴 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <v
Excle 匯入匯出
pom.依賴 <!--poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version
Excel表實現資料匯入匯出
資料匯入: @PostMapping("/imp") public String imp(@RequestPart("filePath") MultipartFile filePath) { //建立一個excel檔案 HSSFWorkb
Spring使用POI實現Excel匯入匯出
Apache POI 是建立和維護操作各種符合Office Open XML(OOXML)標準和微軟的OLE 2複合文件格式(OLE2)的Java API。用它可以使用Java讀取和建立,修改MS Excel檔案.而且,還可以使用Java讀取和建立MS Word和MSPowerPoint檔案。Ap
Spring mvc實現ex匯入匯出
依賴架包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId>
java excel大資料量匯入匯出與優化
package com.hundsun.ta.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java
JAVA架構-SpringMVC實現原理及解析
1、Spring mvc介紹 SpringMVC框架是以請求為驅動,圍繞Servlet設計,將請求發給控制器,然後通過模型物件,分派器來展示請求結果檢視。其中核心類是DispatcherServlet,它是一個S
POI實現Excel匯入匯出(轉)
利用idea建立java web的maven專案,在pom中新增對poi的jar的依賴。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200
jxl實現excel匯入匯出的完整demo
@RequestMapping("/pointsImport.do") public void StructureImport(HttpServletRequest request, HttpServletResponse response, Long driv
JAVA服務端通用資料匯入匯出元件V1.0
工作中經常會遇到對excel這類檔案進行匯入匯出的業務需求, 這些需求其實從根本上看都是對excel的解析處理,因此我特地花了兩天時間寫了一套通用的匯入匯出工具元件,為以後實現這類需求提高效率。當前版本V1.0,原始碼地址:https://github.