|
@@ -9,9 +9,16 @@ import cn.rankin.common.utils.util.BeanUtil;
|
|
|
import cn.rankin.common.utils.util.ProvinceUtil;
|
|
|
import cn.rankin.data.api.user.dto.CampusSearchDTO;
|
|
|
import cn.rankin.data.api.user.vo.CampusVo;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
+import org.apache.poi.ss.util.CellRangeAddress;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.util.List;
|
|
|
|
|
|
@RestController
|
|
@@ -23,7 +30,8 @@ public class StmtController
|
|
|
|
|
|
/**
|
|
|
* 查询已开通校区报表
|
|
|
- * @param user the user info
|
|
|
+ *
|
|
|
+ * @param user the user info
|
|
|
* @param campusSearchDTO the campus search
|
|
|
* @return
|
|
|
*/
|
|
@@ -43,10 +51,10 @@ public class StmtController
|
|
|
List<CampusVo> list = pageData.getData().getList();
|
|
|
if (list != null && list.size() > 0)
|
|
|
{
|
|
|
- for(int i = 0; i<list.size();i++)
|
|
|
+ for (int i = 0; i < list.size(); i++)
|
|
|
{
|
|
|
- CampusVo vo = list.get(i);
|
|
|
- String provinceCode = vo.getProvinceCode();
|
|
|
+ CampusVo vo = list.get(i);
|
|
|
+ String provinceCode = vo.getProvinceCode();
|
|
|
String provinceName = ProvinceUtil.get(provinceCode);
|
|
|
vo.setProvinceName(provinceName);
|
|
|
}
|
|
@@ -58,12 +66,13 @@ public class StmtController
|
|
|
|
|
|
/**
|
|
|
* 查询已开通校区报表
|
|
|
- * @param user the user info
|
|
|
+ *
|
|
|
+ * @param user the user info
|
|
|
* @param campusSearchDTO the campus search
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = {"/campus/export", "/"}, method = RequestMethod.GET)
|
|
|
- public APIResult<Page<CampusVo>> exportCampus(@NeedUser UserDetails user, CampusSearchDTO campusSearchDTO)
|
|
|
+ public APIResult<Page<CampusVo>> exportCampus(HttpServletResponse res, @NeedUser UserDetails user, CampusSearchDTO campusSearchDTO)
|
|
|
{
|
|
|
if (!user.isPlatForm())
|
|
|
{
|
|
@@ -72,23 +81,49 @@ public class StmtController
|
|
|
}
|
|
|
APIResult<Page<CampusVo>> pageData = StmtService.search(BeanUtil.convertToMap(campusSearchDTO));
|
|
|
|
|
|
- //设置省份
|
|
|
- if (pageData != null)
|
|
|
+ //创建HSSFWorkbook对象(excel的文档对象)
|
|
|
+ HSSFWorkbook wb = new HSSFWorkbook();
|
|
|
+ //建立新的sheet对象(excel的表单)
|
|
|
+ HSSFSheet sheet = wb.createSheet("成绩表");
|
|
|
+ //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
|
|
|
+ HSSFRow row1 = sheet.createRow(0);
|
|
|
+ //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
|
|
|
+ HSSFCell cell = row1.createCell(0);
|
|
|
+ //设置单元格内容
|
|
|
+ cell.setCellValue("学员考试成绩一览表");
|
|
|
+ //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
|
|
|
+ sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
|
|
|
+ //在sheet里创建第二行
|
|
|
+ HSSFRow row2 = sheet.createRow(1);
|
|
|
+ //创建单元格并设置单元格内容
|
|
|
+ row2.createCell(0).setCellValue("姓名");
|
|
|
+ row2.createCell(1).setCellValue("班级");
|
|
|
+ row2.createCell(2).setCellValue("笔试成绩");
|
|
|
+ row2.createCell(3).setCellValue("机试成绩");
|
|
|
+ //在sheet里创建第三行
|
|
|
+ HSSFRow row3 = sheet.createRow(2);
|
|
|
+ row3.createCell(0).setCellValue("李明");
|
|
|
+ row3.createCell(1).setCellValue("As178");
|
|
|
+ row3.createCell(2).setCellValue(87);
|
|
|
+ row3.createCell(3).setCellValue(78);
|
|
|
+ //.....省略部分代码
|
|
|
+
|
|
|
+ try
|
|
|
{
|
|
|
- List<CampusVo> list = pageData.getData().getList();
|
|
|
- if (list != null && list.size() > 0)
|
|
|
- {
|
|
|
- for(int i = 0; i<list.size();i++)
|
|
|
- {
|
|
|
- CampusVo vo = list.get(i);
|
|
|
- String provinceCode = vo.getProvinceCode();
|
|
|
- String provinceName = ProvinceUtil.get(provinceCode);
|
|
|
- vo.setProvinceName(provinceName);
|
|
|
- }
|
|
|
- }
|
|
|
+ //输出Excel文件
|
|
|
+ OutputStream output = res.getOutputStream();
|
|
|
+ res.reset();
|
|
|
+ res.setHeader("Content-disposition", "attachment; filename=details.xls");
|
|
|
+ res.setContentType("application/msexcel");
|
|
|
+ wb.write(output);
|
|
|
+ output.close();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- return StmtService.search(BeanUtil.convertToMap(campusSearchDTO));
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
}
|