110 lines
5.3 KiB
Java
110 lines
5.3 KiB
Java
package com.ifish.excel;
|
|
|
|
import com.ifish.entity.VipCompany;
|
|
import com.ifish.entity.VipPersonal;
|
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
|
import org.apache.poi.hssf.usermodel.HSSFFont;
|
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
import org.springframework.web.servlet.view.document.AbstractExcelView;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.OutputStream;
|
|
import java.net.URLEncoder;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @author: yan.y
|
|
* @Description:
|
|
* @Date: Created in 23:59 2018/7/10
|
|
* @Modified by:
|
|
*/
|
|
public class VipPersonalExportExcel extends AbstractExcelView{
|
|
|
|
@Override
|
|
protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
//表头样式
|
|
HSSFCellStyle style = workbook.createCellStyle();
|
|
//字体样式
|
|
HSSFFont fontStyle = workbook.createFont();
|
|
fontStyle.setFontName("微软雅黑");
|
|
fontStyle.setFontHeightInPoints((short)12);
|
|
style.setFont(fontStyle);
|
|
|
|
HSSFSheet sheet = workbook.createSheet("sheet");
|
|
getCell(sheet,0,0).setCellValue("姓名");
|
|
getCell(sheet,0,1).setCellValue("身份证号");
|
|
getCell(sheet,0,2).setCellValue("性别");
|
|
getCell(sheet,0,3).setCellValue("手机号码");
|
|
getCell(sheet,0,4).setCellValue("微信");
|
|
getCell(sheet,0,5).setCellValue("邮箱");
|
|
getCell(sheet,0,6).setCellValue("研究方向");
|
|
getCell(sheet,0,7).setCellValue("专业");
|
|
getCell(sheet,0,8).setCellValue("毕业学校");
|
|
getCell(sheet,0,9).setCellValue("单位名称");
|
|
getCell(sheet,0,10).setCellValue("证书等级");
|
|
getCell(sheet,0,11).setCellValue("证书类型");
|
|
getCell(sheet,0,12).setCellValue("证书编号");
|
|
getCell(sheet,0,13).setCellValue("证书申请时间");
|
|
getCell(sheet,0,14).setCellValue("证书领取时间");
|
|
getCell(sheet,0,15).setCellValue("证书到期时间");
|
|
getCell(sheet,0,16).setCellValue("证书上传官网");
|
|
getCell(sheet,0,17).setCellValue("备注");
|
|
Calendar calendar = Calendar.getInstance();
|
|
List<VipPersonal> vipPersonals = (List<VipPersonal>) model.get("vipPersonals");
|
|
for (int i = 0; i < vipPersonals.size(); i++) {
|
|
VipPersonal vipPersonal = vipPersonals.get(i);
|
|
getCell(sheet,i+1,0).setCellValue(vipPersonal.getPersonalName());
|
|
getCell(sheet,i+1,1).setCellValue(vipPersonal.getCardNum());
|
|
getCell(sheet,i+1,2).setCellValue(vipPersonal.getPersonalGender());
|
|
getCell(sheet,i+1,3).setCellValue(vipPersonal.getPersonalTel());
|
|
getCell(sheet,i+1,4).setCellValue(vipPersonal.getPersonalWechat());
|
|
getCell(sheet,i+1,5).setCellValue(vipPersonal.getPersonalEmail());
|
|
getCell(sheet,i+1,6).setCellValue(vipPersonal.getPersonalResearchDirection());
|
|
getCell(sheet,i+1,7).setCellValue(vipPersonal.getPersonalProfession());
|
|
getCell(sheet,i+1,8).setCellValue(vipPersonal.getPersonalSchool());
|
|
getCell(sheet,i+1,9).setCellValue(vipPersonal.getPersonalMember());
|
|
getCell(sheet,i+1,10).setCellValue(vipPersonal.getCertificateLevel());
|
|
getCell(sheet,i+1,11).setCellValue(vipPersonal.getCertificateType());
|
|
getCell(sheet,i+1,12).setCellValue(vipPersonal.getCertificateCard());
|
|
|
|
if (vipPersonal.getCertificateApplyTime() != null) {
|
|
Date certificateApplyTime = vipPersonal.getCertificateApplyTime();
|
|
calendar.setTime(certificateApplyTime);
|
|
getCell(sheet,i+1,13).setCellValue(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH));
|
|
|
|
}
|
|
|
|
if (vipPersonal.getCertificateReceiveTime() != null) {
|
|
Date certificateReceiveTime = vipPersonal.getCertificateReceiveTime();
|
|
calendar.setTime(certificateReceiveTime);
|
|
getCell(sheet,i+1,14).setCellValue(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH));
|
|
|
|
}
|
|
|
|
if (vipPersonal.getCertificateMaturityTime() != null) {
|
|
Date certificateMaturityTime = vipPersonal.getCertificateMaturityTime();
|
|
calendar.setTime(certificateMaturityTime);
|
|
getCell(sheet,i+1,15).setCellValue(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH));
|
|
|
|
}
|
|
|
|
getCell(sheet,i+1,16).setCellValue(vipPersonal.getUploadWebsite());
|
|
getCell(sheet,i+1,17).setCellValue(vipPersonal.getCertificateRemark());
|
|
}
|
|
|
|
String filename = URLEncoder.encode("个人培训证信息导出.xls", "UTF-8");
|
|
response.setContentType("application/vnd.ms-excel");
|
|
response.setHeader("Content-disposition", "attachment;filename=" + filename);
|
|
OutputStream ouputStream = response.getOutputStream();
|
|
workbook.write(ouputStream);
|
|
ouputStream.flush();
|
|
ouputStream.close();
|
|
|
|
}
|
|
}
|