main
黄海 7 months ago
parent 92b9d9016f
commit 057615e2ca

@ -5,6 +5,7 @@ import com.dsideal.QingLong.Base.Model.BaseModel;
import com.dsideal.QingLong.MaxKB.Model.MaxKbModel;
import com.dsideal.QingLong.MaxKB.Service.Impl.MaxKbImpl;
import com.dsideal.QingLong.MaxKB.Service.MaxKbService;
import com.dsideal.QingLong.MaxKB.Util.ExportExcelUtil;
import com.dsideal.QingLong.Util.CommonUtil;
import com.dsideal.QingLong.Util.SessionKit;
import com.jfinal.aop.Before;
@ -17,7 +18,9 @@ import com.jfinal.plugin.activerecord.Record;
import com.jfinal.ext.interceptor.GET;
import com.jfinal.kit.StrKit;
import java.io.File;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
public class MaxKbController extends Controller {
@ -101,4 +104,23 @@ public class MaxKbController extends Controller {
kv.set("access_token", access_token);
renderJson(kv);
}
/**
* Excel
*
* @param gather_regionc
*/
// http://10.10.21.20:9000/QingLong/maxkb/exportExcel?gather_regionc=直属代管
@Before(GET.class)
public void exportExcel(String gather_regionc) {
List<Record> list = mkm.SchoolClassStudentTeacherList(gather_regionc);
ExportExcelUtil exporter = new ExportExcelUtil();
//获取系统临时目录
String tmpDir = System.getProperty("java.io.tmpdir");
//使用guid生成一个临时文件名然后拼接到tmpDir后面生成完整的临时文件路径
String tmpFile = tmpDir + File.separator + UUID.randomUUID().toString() + ".xlsx";
exporter.exportToExcel(tmpFile, list);
//提供下载
renderFile(new File(tmpFile), gather_regionc + "统计报表.xlsx");
}
}

@ -1,8 +1,11 @@
package com.dsideal.QingLong.MaxKB.Model;
import com.dsideal.QingLong.Const.DbConst;
import com.jfinal.kit.Kv;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.SqlPara;
import java.time.LocalDateTime;
import java.util.List;
@ -121,7 +124,7 @@ public class MaxKbModel {
Record record = getZsk(sourceZskName);
if (record == null) {
System.out.println(sourceZskName + "数据集不存在!");
return null;
return null;
}
//克隆出对象
record = new Record().setColumns(record.getColumns());
@ -275,4 +278,18 @@ public class MaxKbModel {
String sql = "select * from application where \"desc\"=?";
return Db.use(DbConst.MAXKB).findFirst(sql, person_id);
}
/**
* Excel
* @param gather_regionc
* @return
*/
public List<Record> SchoolClassStudentTeacherList(String gather_regionc) {
Kv kv = Kv.create();
if (!StrKit.isBlank(gather_regionc)) {
kv.set("gather_regionc", gather_regionc);
}
SqlPara sqlPara = Db.getSqlPara("ExportExcel.SchoolClassStudentTeacherList", kv);
return Db.find(sqlPara);
}
}

@ -1,4 +1,4 @@
package Tools;
package com.dsideal.QingLong.MaxKB.Util;
import com.dsideal.QingLong.Util.PostgreSqlInit;
import com.jfinal.kit.Kv;
@ -11,7 +11,7 @@ import org.apache.poi.xssf.usermodel.*;
import java.io.FileOutputStream;
import java.util.List;
public class ExportExcel {
public class ExportExcelUtil {
public void exportToExcel(String filePath, List<Record> list) {
try (XSSFWorkbook workbook = new XSSFWorkbook()) {
@ -155,7 +155,7 @@ public class ExportExcel {
kv.set("gather_regionc","直属代管");
SqlPara sqlPara = Db.getSqlPara("ExportExcel.SchoolClassStudentTeacherList",kv);
List<Record> list = Db.find(sqlPara);
ExportExcel exporter = new ExportExcel();
ExportExcelUtil exporter = new ExportExcelUtil();
exporter.exportToExcel("D:/学校统计数据.xlsx", list);
}
}
Loading…
Cancel
Save