這篇文章將為大家詳細講解有關Java如何實現導出Excel功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
剛寫了個導入Excel表格,現在來寫個導出,其實形式都差不多,廢話不多說,貼代碼
<div> <button type="button" class="btn-btn" @click="exportData()">導出</button> </div>
這里根據個人需求,我這里寫時間設置,根據條件去請求導出,這里因人而異
exportData(){
//判斷用戶有無填寫操作類型
if (this.type != "") {
//默認全部操作類型,不傳參
this.param["code"] = this.code;
}
//判斷用戶有無填寫開始日期
if (this.startDate != '') {
this.param['statrDate'] = new Date(this.startDate);
}
//判斷用戶有無填寫結束日期
if (this.endDate != '') {
this.param['endDate'] = new Date(this.endDate);
}
this.param[this.optionSelected] = this.param.searchText;
var url = "${ctx}/operatelog/exportOperateLog";
window.open(url);
}java中Controller層,來接受請求,數據庫查詢到的數據進行封裝,然后使用ExcelUtils進行輸出。
@RequestMapping("/exportOperateLog")
@ResponseBody
public void exportOperateLog(HttpServletRequest request, HttpServletResponse response, OperateLogParam param) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
try {
response.reset();
response.setContentType("text/html;charset=GBK");// 設置response內容的類型
response.setHeader("Content-disposition", "attachment;filename=SysteamLog" + dateFormat.format(new Date()) + ".xls;");
String strTableName = "系統日志"; //這個是標題
List<String> headers = new ArrayList<>();
headers.add("序號"); //這里的表頭,根據數據的字段命名也行,隨你喜歡
headers.add("操作日期時間");
headers.add("操作類型");
headers.add("數據1");
headers.add("數據2");
headers.add("操作員id");
headers.add("操作員");
List<OperateLogParam> operateLogList = operateLogService.findOperateLogList(param);
List<String[]> operateListStr = new ArrayList<>();
for (int i = 0; i < operateLogList.size(); i++) {
OperateLogParam opeLogPar = operateLogList.get(i);
String[] strarr = new String[]{(StringUtils.isEmpty(opeLogPar.getOperateLogId().toString())?"-":opeLogPar.getOperateLogId().toString()),
(StringUtils.isEmpty(opeLogPar.getCreateTime().toString())?"-":opeLogPar.getCreateTime().toString()),
(StringUtils.isEmpty(opeLogPar.getTitle())?"-":opeLogPar.getTitle()),
(StringUtils.isEmpty(opeLogPar.getData1())?"-":opeLogPar.getData1()),
(StringUtils.isEmpty(opeLogPar.getData2())?"-":opeLogPar.getData2()),
(StringUtils.isEmpty(opeLogPar.getAdminId().toString())?"-":opeLogPar.getAdminId().toString()),
(StringUtils.isEmpty(opeLogPar.getOperatorName())?"-":opeLogPar.getOperatorName()),
};
operateListStr.add(strarr);
}
ExcelUtil.createExcel(strTableName, headers, operateListStr, response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}這里里面的ExcelUtils 在我的另一篇筆記中有
Excel導入功能
http://www.dadijd.cn/article/121533.htm
導出效果


關于Java如何實現導出Excel功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。