From 1c3c68d3dc45e4d519088de17001284858de5eb9 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 06 六月 2020 10:50:02 +0800
Subject: [PATCH] #导出
---
src/main/java/com/zy/asrs/controller/MatCodeController.java | 21 ++----
src/main/java/com/zy/common/utils/excel/ExcelUtils.java | 14 ++--
src/main/webapp/views/matCode/matCode.html | 22 +++++++
src/main/webapp/static/js/matCode/matCode.js | 58 +++++++------------
src/main/java/com/zy/common/web/FileController.java | 23 +++++++
5 files changed, 80 insertions(+), 58 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MatCodeController.java b/src/main/java/com/zy/asrs/controller/MatCodeController.java
index eb80c17..b36c779 100644
--- a/src/main/java/com/zy/asrs/controller/MatCodeController.java
+++ b/src/main/java/com/zy/asrs/controller/MatCodeController.java
@@ -101,18 +101,10 @@
// 瀵煎嚭
@RequestMapping(value = "/matCode/export/auth")
- @ManagerAuth
- public void export(@RequestBody JSONObject param, HttpServletResponse response) throws Exception{
-// List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
-// EntityWrapper<MatCode> wrapper = new EntityWrapper<>();
-// Map<String, Object> map = excludeTrash(param.getJSONObject("matCode"));
-// convert(map, wrapper);
-// List<MatCode> list = matCodeService.selectList(wrapper);
-
-
+ public void export(@RequestParam(required = false) String fileName,
+ @RequestParam(required = false) Integer rowCount,
+ HttpServletResponse response) throws Exception {
List<MatCode> list = matCodeService.selectList(new EntityWrapper<>());
-
-
List<MatCodeExcel> excels = new ArrayList<>();
for (MatCode matCode : list) {
MatCodeExcel excel = new MatCodeExcel();
@@ -122,12 +114,15 @@
excel.setStr1(matCode.getStr1());
excel.setStr2(matCode.getStr2());
excels.add(excel);
+ if (rowCount != null && excels.size() >= rowCount){
+ break;
+ }
}
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
- String fileName = URLEncoder.encode("娴嬭瘯", "UTF-8");
+ fileName = URLEncoder.encode(Cools.isEmpty(fileName)?"鐗╂枡缂栫爜":fileName, "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("妯℃澘").doWrite(excels);
+ EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("琛�1").doWrite(excels);
}
// 瀵煎叆
diff --git a/src/main/java/com/zy/common/utils/excel/ExcelUtils.java b/src/main/java/com/zy/common/utils/excel/ExcelUtils.java
index d51ec8e..61cc2a7 100644
--- a/src/main/java/com/zy/common/utils/excel/ExcelUtils.java
+++ b/src/main/java/com/zy/common/utils/excel/ExcelUtils.java
@@ -14,13 +14,11 @@
public class ExcelUtils {
public static void main(String[] args) {
-// new ExcelUtils().simpleRead();
new ExcelUtils().simpleWrite();
}
public void simpleRead(){
ExcelReaderBuilder read = EasyExcel.read("/Users/vincent/Desktop/3869.xls", MatCodeExcel.class, new MatCodeExcelListener());
- // 璇诲彇绗竴涓猻heet(琛�),鏂囦欢娴佷細鑷姩鍏抽棴
read.sheet().doRead();
}
@@ -32,13 +30,15 @@
List<MatCodeExcel> list = new ArrayList<>();
for (int i = 0; i<1000; i++) {
MatCodeExcel data = new MatCodeExcel();
- data.setMatNo("1");
- data.setBarcode("2");
- data.setMatName("3");
- data.setStr1("5");
- data.setStr2("6");
+ data.setMatNo("1902997-5/6");
+ data.setBarcode("80001854");
+ data.setMatName("閾濆甫|1100-O|0.33*475|");
+ data.setStr1("701010015907");
+ data.setStr2("榧庤儨閾濅笟棣欐腐_椹潵瑗夸簹UPT");
list.add(data);
}
return list;
}
+
+
}
diff --git a/src/main/java/com/zy/common/web/FileController.java b/src/main/java/com/zy/common/web/FileController.java
index d7b9c83..a0bc022 100644
--- a/src/main/java/com/zy/common/web/FileController.java
+++ b/src/main/java/com/zy/common/web/FileController.java
@@ -1,16 +1,21 @@
package com.zy.common.web;
import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.R;
-import com.zy.common.utils.excel.ExcelUtils;
+import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.service.MatCodeService;
import com.zy.common.utils.excel.matcode.MatCodeExcel;
import com.zy.common.utils.excel.matcode.MatCodeExcelListener;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
/**
* todo
@@ -20,6 +25,8 @@
@RequestMapping("excel/")
public class FileController {
+ @Autowired
+ private MatCodeService matCodeService;
/**
* 鏂囦欢涓婁紶
*/
@@ -35,13 +42,25 @@
*/
@GetMapping("download")
public void download(HttpServletResponse response) throws IOException {
+ List<MatCode> list = matCodeService.selectList(new EntityWrapper<>());
+
+ List<MatCodeExcel> excels = new ArrayList<>();
+ for (MatCode matCode : list) {
+ MatCodeExcel excel = new MatCodeExcel();
+ excel.setMatNo(matCode.getMatNo());
+ excel.setBarcode(matCode.getBarcode());
+ excel.setMatName(matCode.getMatName());
+ excel.setStr1(matCode.getStr1());
+ excel.setStr2(matCode.getStr2());
+ excels.add(excel);
+ }
// 杩欓噷娉ㄦ剰 鏈夊悓瀛﹀弽搴斾娇鐢╯wagger 浼氬鑷村悇绉嶉棶棰橈紝璇风洿鎺ョ敤娴忚鍣ㄦ垨鑰呯敤postman
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
String fileName = URLEncoder.encode("娴嬭瘯", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("妯℃澘").doWrite(ExcelUtils.data());
+ EasyExcel.write(response.getOutputStream(), MatCodeExcel.class).sheet("妯℃澘").doWrite(excels);
}
}
diff --git a/src/main/webapp/static/js/matCode/matCode.js b/src/main/webapp/static/js/matCode/matCode.js
index 2e6971b..a5b5337 100644
--- a/src/main/webapp/static/js/matCode/matCode.js
+++ b/src/main/webapp/static/js/matCode/matCode.js
@@ -171,42 +171,19 @@
break;
// 瀵煎嚭
case 'exportData':
- layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true,}, function(){
- var titles=[];
- var fields=[];
- obj.config.cols[0].map(function (col) {
- if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
- titles.push(col.title);
- fields.push(col.field);
- }
- });
- var exportData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- exportData[this.name] = this.value;
- });
- var param = {
- 'matCode': exportData,
- 'fields': fields
- };
- $.ajax({
- url: baseUrl+"/matCode/export/auth",
- headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify(param),
- // dataType:'json',
- contentType:'application/json;charset=UTF-8',
- method: 'POST',
- success: function (res) {
- // layer.closeAll();
- // if (res.code === 200) {
- // table.exportFile(titles,res.data,'xls');
- // } else if (res.code === 403) {
- // top.location.href = baseUrl;
- // } else {
- // layer.msg(res.msg)
- // }
- }
- });
- });
+ layer.open({
+ type: 1,
+ title: '鏁版嵁瀵煎嚭',
+ shadeClose: true,
+ content: $('#exportDataDiv'),
+ success: function(layero, index){
+
+ },
+ end: function () {
+ $("#exportFileName").val("");
+ $("#exportRowCount").val("");
+ }
+ })
break;
// 瀵煎叆
case 'intoData':
@@ -228,6 +205,15 @@
}
});
+ // 瀵煎嚭excel
+ form.on('submit(exportDo)', function(data) {
+ layer.closeAll();
+ layer.load(1, {shade: [0.1,'#fff']});
+ location.href = baseUrl + "/matCode/export/auth?fileName="+$("#exportFileName").val()+"&rowCount="+$("#exportRowCount").val();
+ layer.closeAll('loading');
+ return false;
+ });
+
// 瀵煎叆excel
var uploader = upload.render({
elem: '#uploadEx'
diff --git a/src/main/webapp/views/matCode/matCode.html b/src/main/webapp/views/matCode/matCode.html
index 7fbc3da..9985e27 100644
--- a/src/main/webapp/views/matCode/matCode.html
+++ b/src/main/webapp/views/matCode/matCode.html
@@ -52,6 +52,28 @@
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+<!-- 瀵煎嚭鎿嶄綔寮圭獥 -->
+<div id="exportDataDiv" style="display: none;padding: 20px">
+ <div class="layui-form">
+ <div class="layui-form-item">
+ <label class="layui-form-label" style="padding: 9px 0">璁剧疆鏂囦欢鍚�</label>
+ <div class="layui-input-block" style="margin-left: 90px;">
+ <input type="text" id="exportFileName" placeholder="閫夊~" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label" style="padding: 9px 0">瀵煎嚭琛屾暟</label>
+ <div class="layui-input-block" style="margin-left: 90px;">
+ <input type="text" id="exportRowCount" placeholder="閫夊~" autocomplete="off" class="layui-input" lay-verify="number" lay-reqtext="璇疯緭鍏ユ暟瀛�">
+ </div>
+ </div>
+ <div style="text-align: center; margin-top: 20px">
+ <button class="layui-btn layui-btn-radius layui-btn-normal" id="exportDo" lay-submit lay-filter="exportDo">寮�濮嬪鍑�</button>
+ </div>
+ </div>
+</div>
+
+
<!-- 瀵煎叆鎿嶄綔寮圭獥 -->
<div id="importDataDiv" style="display: none;padding: 20px 40px">
<div class="layui-upload-drag" id="uploadEx" style="width: 200px; font-size: x-small; padding: 10px; text-align: center; box-sizing: border-box">
--
Gitblit v1.9.1