用到的一些环境或者配置
- maven
- mybatis
- spring
- springMVC
- layui
- poi
- echarts
民子哥的要求
- Android端上报app
- 生成热力图
- 导出十四日体温记录表
大体结构
app端获取体温等数据后通过http发送到服务端
一些关键代码
poi导出表格
import com.alibaba.fastjson.JSON;
import com.alice.Utils.Httpservice;
import com.alice.pojo.Info;
import com.alice.pojo.User;
import com.alice.pojo.UserMap;
import com.alice.service.InfoService;
import com.alice.service.UserService;
import jxl.write.WriteException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.IOException;
import java.io.InputStream;
import org.springframework.core.io.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
@Controller
@RequestMapping("/Web")
public class Web {
@Autowired
@Qualifier("InfoServiceImpl")
private InfoService infoService;
@Qualifier("UserServiceImpl")
private UserService userService;
private Httpservice httpservice=new Httpservice();
public Web(UserService userService) {
this.userService = userService;
}
public String getTime(){
//使用Date创建日期对象
Date date=new Date();
System.out.println("当前的日期是------>"+date);
/**
* 创建格式化时间日期类
*构造入参String类型就是我们想要转换成的时间形式
*/
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("格式化后的时间------->"+format.format(date));
return format.format(date);
}
public String getDay_15(){
//使用Date创建日期对象
Date date=new Date();
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("格式化后的时间------->"+format.format(date));
return format.format(date);
}
@RequestMapping(value="/1",method= RequestMethod.GET,produces="text/html;charset=UTF-8")
// @RequestMapping("/1")
@ResponseBody
public String getClassOne(){
String data,part;
List<Info>infoList= infoService.selectByTime(getTime());
List<Info>classOne=new ArrayList<Info>();
System.out.println(infoList.toString());
for (Info info : infoList) {
System.out.println("class:"+userService.selectByName(info.getName()).getClas());
if(userService.selectByName(info.getName()).getClas().equals("1"))
{
System.out.println("remove:"+info.toString());
classOne.add(info);
}
}
System.out.println("class one size:"+classOne.size());
System.out.println(classOne);
part= JSON.toJSONString(classOne);
data="{"code":0,"msg":"","count":1000,"data":"+part+"}";
System.out.println(data);
return data;
}
@RequestMapping(value="/2",method= RequestMethod.GET,produces="text/html;charset=UTF-8")
@ResponseBody
public String getClassTwo(){
String data,part;
List<Info>infoList= infoService.selectByTime(getTime());
List<Info>classOne=new ArrayList<Info>();
System.out.println(infoList.toString());
for (Info info : infoList) {
System.out.println("class:"+userService.selectByName(info.getName()).getClas());
if(userService.selectByName(info.getName()).getClas().equals("2"))
{
System.out.println("remove:"+info.toString());
classOne.add(info);
}
}
System.out.println("class one size:"+classOne.size());
System.out.println(classOne);
part= JSON.toJSONString(classOne);
data="{"code":0,"msg":"","count":1000,"data":"+part+"}";
System.out.println(data);
return data;
}
@RequestMapping("/IOtest")
public void outputTest(HttpServletResponse response,HttpServletRequest request,String name) throws IOException, WriteException {
System.out.println("name is:"+name);
User user=userService.selectByName(name);
List<Info>infoList=infoService.selectByName(name);
List<Info>list=new ArrayList<Info>();
for (Info info : infoList) {
System.out.println("info:"+info.toString());
for(int i=0;i<15;i++){
Date date=new Date();
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
String time=format.format(new Date(date.getTime()-i*24 * 60 * 60 * 1000));
System.out.println("check time :"+time);
if(info.getTime().contains(time)){
list.add(info);
}
}
}
outputXls(response,request,"test",user,list);
}
public void outputXls(HttpServletResponse response,HttpServletRequest request,String name,User user,List<Info> infoList) throws IOException, WriteException {
Resource resource=new ClassPathResource("temp.xlsx");
InputStream inputStream=new FileInputStream(resource.getFile());
Workbook workbook=new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
//得到内容的第一行的每一单元格的样式,存到数组中
Row row = sheet.getRow(2);//从第3行开始的,索引是2
CellStyle[] cellStyles = new CellStyle[row.getLastCellNum()];//根据该行的有内容的列数创建存储样式的数组
for(int i = 0; i<row.getLastCellNum(); i++){
org.apache.poi.ss.usermodel.Cell cell = (Cell) row.getCell(i);//得到单元格对象
CellStyle cellStyle = cell.getCellStyle();//获取该单元格的格式
cellStyles[i] = cellStyle;//把样式存储到样式数组中,索引跟列索引对应的
}
org.apache.poi.ss.usermodel.Cell cell=null;
CellStyle cellStyle= cellStyles[0];
//设置单元格内容,第一部分
//姓名-》
row=sheet.getRow(2);
cell=row.createCell(1);
cell.setCellValue(user.getName());
cell.setCellStyle(cellStyle);
cell=row.createCell(5);
cell.setCellValue(user.getId());
cell.setCellStyle(cellStyle);
row=sheet.getRow(3);
cell=row.createCell(5);
cell.setCellValue(user.getPhone());
cell.setCellStyle(cellStyle);
String health="健康";
for (Info info : infoList) {
if(Float.parseFloat(info.getTemper())>38){
health="异常";
}
}
cell=row.createCell(1);
cell.setCellValue(health);
cell.setCellStyle(cellStyle);
//设置单元格第二部分
try {
for(int i=6;i<20;i++){
row= sheet.getRow(i);
temp(row,infoList.get(i-6),cellStyle,health);
}
} catch (Exception e){
for (Info info : infoList) {
temp(row,info,cellStyle,health);
}
}
//下载
response.setHeader("Content-Disposition","attachment;filename="+"realFilename.xlsx");
response.setContentType("application/octet-stream");
response.setHeader("filename", "filename.xls");
workbook.write(response.getOutputStream());
}
public void temp(Row row,Info info, CellStyle cellStyle,String health){
Cell cell=null;
cell=row.createCell(0);
cell.setCellValue(info.getTime());
cell.setCellStyle(cellStyle);
cell=row.createCell(1);
cell.setCellValue(info.getTemper());
cell.setCellStyle(cellStyle);
cell=row.createCell(2);
cell.setCellValue(health);
cell.setCellStyle(cellStyle);
cell=row.createCell(3);
cell.setCellValue(info.getLocation());
cell.setCellStyle(cellStyle);
cell=row.createCell(4);
cell.setCellValue(info.getSpecial());
cell.setCellStyle(cellStyle);
}
代码包括配置文件已经上传[大概,百度云]