导出word到本地,压缩zip包返回前端页面

    @Override
    public void exportDocx(HttpServletRequest request, IredUser iredUser) {
        try {
            String selections = request.getParameter("selections");

            if (oConvertUtils.isNotEmpty(selections)) {
                List<String> selectionList = Arrays.asList(selections.split(","));
                List<String> files = new ArrayList();
                for (String s : selectionList) {
                    IredUser user = iredUserService.getById(s);
                    if (null != user) {
                        ExportWord ew = new ExportWord();
                        XWPFDocument document = this.createXwpfDocument(user);
                        String path = upLoadPath + "/test/" + user.getNames() + ".docx";
                        ew.exportCheckWord(document, path);
                        files.add(path);
                        System.out.println("文档生成成功");
                    }
                }
                writeZip(files, "文件汇总");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

导出zip

private void writeZip(List<String> files, String zipname) throws IOException {
        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletResponse response = servletRequestAttributes.getResponse();
        String fileName = zipname + ".zip";
        OutputStream os = response.getOutputStream();
        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-type", "text/html;charset=UTF-8");
        response.setHeader("content-disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859-1"));

        ZipOutputStream zos = new ZipOutputStream(os);
        byte[] buf = new byte[8192];
        int len;
        for (int i = 0; i < files.size(); i++) {
            File file = new File(files.get(i));
            if (!file.isFile()) continue;
            ZipEntry ze = new ZipEntry(file.getName());
            zos.putNextEntry(ze);
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
            while ((len = bis.read(buf)) > 0) {
                zos.write(buf, 0, len);
            }
            zos.closeEntry();
        }

        zos.closeEntry();
        zos.close();
    }

导出word

    @Override
    public Map<String, Object> getEmploymentProcess(IredUser iredUser) {
        return  getStringObjectMap(iredUser);
    }


    public XWPFDocument createXwpfDocument(IredUser iredUser) {
        //        教育经历
        TalentsMpUserInfo info = talentsMpUserInfoService.getBySysUserId(iredUser.getSysUserId());

        List<IredStudentCerInfo> studentCerInfoList = iredStudentCerInfoService.lambdaQuery().eq(IredStudentCerInfo::getStudentCerId, iredUser.getId()).eq(IredStudentCerInfo::getDeleteFlag, CommonConstant.DEL_FLAG_0).last("limit 1").list();
        IredStudentCerInfo iredStudentCerInfo = new IredStudentCerInfo();


        // 根据学员id查询证书
        if (studentCerInfoList.size() > 0) {
            iredStudentCerInfo = studentCerInfoList.get(0);
        }

        // 自媒体平台账号
        List<AsgnTraineeMedia> asgnTraineeMediaList = traineeMediaDubboService.queryList(info.getTalentsMpUserInfoId());
        List<String[]> asgnList = new ArrayList<>();
        String[] asgnStringList = new String[2];
        asgnStringList[0] = "平台";
        asgnStringList[1] = "账号名称";
//        asgnStringList[2] = "粉丝数";
//        asgnStringList[3] = "主页地址";
        asgnList.add(asgnStringList);

        for (int i = 0; i < asgnTraineeMediaList.size(); i++) {
            String[] list = new String[2];
            String name = asgnTraineeMediaList.get(i).getName();
            String account = asgnTraineeMediaList.get(i).getAccount();
            list[0] = StringUtils.isNotEmpty(name)? name : "无";
            list[1] = StringUtils.isNotEmpty(account)? account : "无";
//            list[2] = "无";
//            list[3] = "无";
            asgnList.add(list);
        }
        String userInfoId = info.getTalentsMpUserInfoId();
        // 教育经历
        List<String[]> talentsList = new ArrayList<>();
        String[] list1 = new String[3];
        list1[0] = "时间";
        list1[1] = "院校";
        list1[2] = "专业";
        talentsList.add(list1);
        List<TalentsUserCvEduExperience> eduExperiences = talentsUserCvEduExperienceService.queryByUserInfoId(userInfoId);
        for (int i = 0; i < eduExperiences.size(); i++) {
            String[] list = new String[3];
            String s = eduExperiences.get(i).getAtSchoolTimeStart() + "-" + eduExperiences.get(i).getAtSchoolTimeEnd();
            String schoolName = eduExperiences.get(i).getSchoolName();
            String specialtyName = eduExperiences.get(i).getSpecialtyName();
            list[0] =  StringUtils.isNotEmpty(s) ? s : "无";
            list[1] = StringUtils.isNotEmpty(schoolName)? schoolName : "无";
            list[2] = StringUtils.isNotEmpty(specialtyName) ? specialtyName : "无";
            talentsList.add(list);
        }
        // 就业经历
        List<String[]> workList = new ArrayList<>();
        String[] workStringList = new String[3];
        workStringList[0] = "时间";
        workStringList[1] = "企业";
        workStringList[2] = "职业";
        workList.add(workStringList);
        List<TalentsUserCvWorkExperience> works = talentsUserCvWorkExperienceService.queryByUserInfoId(userInfoId);
        for (int i = 0; i < works.size(); i++) {
            String[] list = new String[3];
            String s = works.get(i).getOnJobTimeStart() + "-" + works.get(i).getOnJobTimeEnd();
            String jobTitle = works.get(i).getJobTitle();
            list[0] = StringUtils.isNotEmpty(s) ? s : "无";
            String companyName = works.get(i).getCompanyName();
            list[1] =  StringUtils.isNotEmpty(companyName)? companyName : "无";
            list[2] =  StringUtils.isNotEmpty(jobTitle)? jobTitle : "无";
            workList.add(list);
        }

        List<String> urllist = new ArrayList<>();
        StudentWorkInfoDto studentWorkInfoDto = new StudentWorkInfoDto();
        // 个人作品
        List<StudentWorkInfo> studentWorkInfos = studentWorkInfoDubboService.queryListBySysId(iredUser.getId());
        for (StudentWorkInfo studentWorkInfo : studentWorkInfos) {
            if ("1".equals(studentWorkInfo.getWorkType())) {
                urllist.add(studentWorkInfo.getWorkUrl());
            }else if ("2".equals(studentWorkInfo.getWorkType())) {
                studentWorkInfoDto.setVideoUrl(studentWorkInfo.getWorkUrl());
            } else if ("3".equals(studentWorkInfo.getWorkType())) {
                studentWorkInfoDto.setLiveStreaming(studentWorkInfo.getWorkUrl());
            } else if ("4".equals(studentWorkInfo.getWorkType())) {
                studentWorkInfoDto.setOther(studentWorkInfo.getWorkUrl());
            }
        }
        Map<String, Object> map = getStringObjectMap(iredUser);
        List<ClassesStudentStudy> list = (List) map.get("student");


        iredUser.setCerNo(iredStudentCerInfo.getCerNo());
        iredUser.setSpecialty(info.getSpecialty());
        iredUser.setSchoolName(info.getSchoolName());
        iredUser.setSpecialtyName(info.getSpecialtyName());
        iredUser.setEducation(info.getEducation());
        iredUser.setJobTitle(info.getJobTitle());
        iredUser.setCompanyName(info.getCompanyName());
        iredUser.setExpectIndustryName(info.getExpectIndustryName());
        ExportWord ew = new ExportWord();
        XWPFDocument doc = new XWPFDocument();
        // 姓名,性别,生日
        ew.createTitleParagraphByStydentInfo1(doc, iredUser);
        ew.createTitleParagraphByStydentInfo2(doc, iredUser);
        ew.createTitleParagraphByStydentInfo3(doc, iredUser);
        ew.createTitleParagraphByStydentInfo4(doc, iredUser);
        ew.createTitleParagraphByStydentInfo5(doc, iredUser);
        ew.createTitleParagraphByStydentInfo6(doc, iredUser);
        ew.createTitleParagraphByStydentInfo7(doc, iredUser);
        ew.createTitleParagraphByStydentInfo8(doc, iredUser);
        ew.createTitleParagraphByStydentInfo9(doc, iredUser);
        ew.createTitleParagraph11(doc, talentsList);
        ew.createTitleParagraph12(doc, workList);
        ew.createTitleParagraph10(doc, asgnList);
        ew.createTitleParagraph13(doc, urllist,studentWorkInfoDto);
        // 学生过程管理

        for (ClassesStudentStudy classesStudentStudy : list) {
            ew.createTitle(doc.createParagraph(), "六、教师评价");
            // 教务教师集合
            List<String> academicAffairsTeacherIds = classesStudentStudy.getAcademicAffairsTeacherIds();
            List<IredTeacher> listByIdList = new ArrayList<>();
            if (null!=academicAffairsTeacherIds){
                listByIdList = iredTeacherService.getListByIdList(academicAffairsTeacherIds);
            }
            List<String> trainTeacherIds = classesStudentStudy.getTrainTeacherIds();
            List<IredTeacher> trainTeacherList = new ArrayList<>();
            if (null!=trainTeacherIds){
                trainTeacherList = iredTeacherService.getListByIdList(trainTeacherIds);
            }

            ew.createTitleParagraphClassesStudentStudy4(doc, trainTeacherList);
            ew.createTitleParagraphClassesStudentStudy3(doc, listByIdList);
            ew.createTitleParagraphClassesStudentStudy(doc, classesStudentStudy);
            ew.createTitleParagraphClassesStudentStudy1(doc, classesStudentStudy);
            List<IredHomeworkStudent> homeworkStudentModelList = classesStudentStudy.getHomeworkStudentModelList();
            List<String[]> homeList = new ArrayList<>();
            String[] modelStringList = new String[3];
            modelStringList[0] = "作业图片";
            modelStringList[1] = "作业视频";
            modelStringList[2] = "作业附件";
            homeList.add(modelStringList);
            // 学生所在班级作品
            for (int i = 0; i < homeworkStudentModelList.size(); i++) {
                String[] modelList = new String[3];
                String studentImg = homeworkStudentModelList.get(i).getStudentImg();
                modelList[0] = StringUtils.isNotEmpty(studentImg) ? studentImg : "无";
                String studentVideo = homeworkStudentModelList.get(i).getStudentVideo();
                String studentAppendix = homeworkStudentModelList.get(i).getStudentAppendix();
                modelList[1] =  StringUtils.isNotEmpty(studentVideo)? studentVideo : "无";
                modelList[2] =  StringUtils.isNotEmpty(studentAppendix)? studentAppendix : "无";
                homeList.add(modelList);
            }
            ew.createTitleParagraph20(doc, homeList);
            List<String[]> evaluationList = new ArrayList<>();
            List<String[]> evaluationList2 = new ArrayList<>();
            List<String[]> evaluationList3 = new ArrayList<>();
            List<String[]> evaluationList4 = new ArrayList<>();
            List<TeacherEvaluation> teacherEvaluationList = teacherEvaluationService.queryList(iredUser.getId().toString(), iredUser.getClassid());
            if (teacherEvaluationList.size()>0){
                ew.createTitleParagraphClassesStudentStudy2(doc, teacherEvaluationList.get(0));
            }
            String[] eTitleList = new String[5];
            eTitleList[0] = "学生态度";
            eTitleList[1] = "团队意识";
            eTitleList[2] = "沟通能力";
            eTitleList[3] = "统筹能力";
            eTitleList[4] = "合规能力";
            evaluationList.add(eTitleList);

            String[] eTitleList2 = new String[6];
            eTitleList2[0] = "洞察能力";
            eTitleList2[1] = "策划能力";
            eTitleList2[2] = "营销能力";
            eTitleList2[3] = "互动能力";
            eTitleList2[4] = "应变能力";
            eTitleList2[5] = "控场能力";
            evaluationList2.add(eTitleList2);

            String[] eTitleList3 = new String[6];
            eTitleList3[0] = "定位能力";
            eTitleList3[1] = "选题能力";
            eTitleList3[2] = "编导能力";
            eTitleList3[3] = "拍摄能力";
            eTitleList3[4] = "剪辑能力";
            eTitleList3[5] = "数据分析";
            evaluationList3.add(eTitleList3);

            String[] eTitleList4 = new String[6];
            eTitleList4[0] = "学习能力";
            eTitleList4[1] = "抗压能力";
            eTitleList4[2] = "管理能力";
            eTitleList4[3] = "规划能力";
            eTitleList4[4] = "责任能力";
            eTitleList4[5] = "执行能力";
            evaluationList4.add(eTitleList4);

            for (int i = 0; i < teacherEvaluationList.size(); i++) {
                String[] eList = new String[5];
                String learningAttitude = teacherEvaluationList.get(i).getLearningAttitude();
                eList[0] = StringUtils.isNotEmpty(learningAttitude) ? learningAttitude : "无";
                String teamwork = teacherEvaluationList.get(i).getTeamwork();
                String communicateAbility = teacherEvaluationList.get(i).getCommunicateAbility();
                eList[1] =  StringUtils.isNotEmpty(teamwork)? teamwork : "无";
                eList[2] =  StringUtils.isNotEmpty(communicateAbility)? communicateAbility : "无";
                String overallPlanningAbility = teacherEvaluationList.get(i).getOverallPlanningAbility();
                eList[3] =  StringUtils.isNotEmpty(overallPlanningAbility)? overallPlanningAbility : "无";
                String complianceAbility = teacherEvaluationList.get(i).getComplianceAbility();
                eList[4] =  StringUtils.isNotEmpty(complianceAbility)? complianceAbility : "无";
                evaluationList.add(eList);


                String[] eList2 = new String[6];
                String insightAbility = teacherEvaluationList.get(i).getInsightAbility();
                eList2[0] = StringUtils.isNotEmpty(insightAbility) ? insightAbility : "无";
                String planAbility = teacherEvaluationList.get(i).getPlanAbility();
                eList2[1] =  StringUtils.isNotEmpty(planAbility)? planAbility : "无";
                String marketingAbility = teacherEvaluationList.get(i).getMarketingAbility();
                eList2[2] =  StringUtils.isNotEmpty(marketingAbility)? marketingAbility : "无";
                String interactiveAbility = teacherEvaluationList.get(i).getInteractiveAbility();
                eList2[3] =  StringUtils.isNotEmpty(interactiveAbility)? interactiveAbility : "无";
                String strainAbility = teacherEvaluationList.get(i).getStrainAbility();
                eList2[4] =  StringUtils.isNotEmpty(strainAbility)? strainAbility : "无";
                 String fieldControlAbility = teacherEvaluationList.get(i).getFieldControlAbility();
                eList2[5] =  StringUtils.isNotEmpty(fieldControlAbility)? fieldControlAbility : "无";
                evaluationList2.add(eList2);


                String[] eList3 = new String[6];
                String positionAbility = teacherEvaluationList.get(i).getPositionAbility();
                eList3[0] = StringUtils.isNotEmpty(positionAbility) ? positionAbility : "无";
                String topicSelectionAbility = teacherEvaluationList.get(i).getTopicSelectionAbility();
                eList3[1] =  StringUtils.isNotEmpty(topicSelectionAbility)? topicSelectionAbility : "无";
                String choreographerAbility = teacherEvaluationList.get(i).getChoreographerAbility();
                eList3[2] =  StringUtils.isNotEmpty(choreographerAbility)? choreographerAbility : "无";
                String shootAbility = teacherEvaluationList.get(i).getShootAbility();
                eList3[3] =  StringUtils.isNotEmpty(shootAbility)? shootAbility : "无";
                String clipAbility = teacherEvaluationList.get(i).getClipAbility();
                eList3[4] =  StringUtils.isNotEmpty(clipAbility)? clipAbility : "无";
                String dataAnalysisAbility = teacherEvaluationList.get(i).getDataAnalysisAbility();
                eList3[5] =  StringUtils.isNotEmpty(dataAnalysisAbility)? dataAnalysisAbility : "无";
                evaluationList3.add(eList3);

                String[] eList4 = new String[6];
                String studyAbility = teacherEvaluationList.get(i).getStudyAbility();
                eList4[0] = StringUtils.isNotEmpty(studyAbility) ? studyAbility : "无";
                String compressionAbility = teacherEvaluationList.get(i).getCompressionAbility();
                eList4[1] =  StringUtils.isNotEmpty(compressionAbility)? compressionAbility : "无";
                String manageAbility = teacherEvaluationList.get(i).getManageAbility();
                eList4[2] =  StringUtils.isNotEmpty(manageAbility)? manageAbility : "无";
                String planningAbility = teacherEvaluationList.get(i).getPlanningAbility();
                eList4[3] =  StringUtils.isNotEmpty(planningAbility)? planningAbility : "无";
                String responsibilityAbility = teacherEvaluationList.get(i).getResponsibilityAbility();
                eList4[4] =  StringUtils.isNotEmpty(responsibilityAbility)? responsibilityAbility : "无";
                String implementAbility = teacherEvaluationList.get(i).getImplementAbility();
                eList4[5] =  StringUtils.isNotEmpty(implementAbility)? implementAbility : "无";
                evaluationList4.add(eList4);
            }
            ew.createTitleParagraph20(doc, evaluationList);
            ew.createTitleParagraph20(doc, evaluationList2);
            ew.createTitleParagraph20(doc, evaluationList3);
            ew.createTitleParagraph20(doc, evaluationList4);
        }
package com.irededu.modules.iredStudentInfo.word;

import com.irededu.common.utils.AESUtil;
import com.irededu.modules.iredStudentInfo.dto.StudentWorkInfoDto;
import com.irededu.modules.iredStudentInfo.entity.TeacherEvaluation;
import com.irededu.modules.irededu.entity.ClassesStudentStudy;
import com.irededu.modules.irededu.entity.IredTeacher;
import com.irededu.modules.irededu.entity.IredUser;
import com.irededu.modules.irededu.service.IIredTeacherService;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.util.Units;
import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
import org.springframework.beans.factory.annotation.Autowired;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.math.BigInteger;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.List;

import static com.irededu.modules.utils.pdf.PDFUtil.getFileStream;

public class ExportWord {

   @Autowired
   private IIredTeacherService iredTeacherService;

   private static final int PICTURE_SIZE = 80;

   public void createTitleParagraphByStydentInfo1(XWPFDocument document, IredUser iredUser) {
       this.createTitle(document.createParagraph(), "一、学员信息");
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       if (StringUtils.isNotEmpty(iredUser.getNames())) {
           titleFun.setText("姓名: " + iredUser.getNames());
       } else {
           titleFun.setText("姓名: " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getSex())) {
           String s = "1".equals(iredUser.getSex()) ? "男" : "女";
           titleFun.setText("性别: " + s);
       } else {
           titleFun.setText("性别: " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
       if (null != iredUser.getBirthday()) {
           String format1 = format.format(iredUser.getBirthday());
           titleFun.setText("生日: " + format1);
       } else {
           titleFun.setText("生日: " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo2(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       if (StringUtils.isNotEmpty(iredUser.getMobile())) {
           titleFun.setText("手机号 : " + iredUser.getMobile());
       } else {
           titleFun.setText("手机号 : " + "无");
       }
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getEmail())) {
           titleFun.setText("邮箱 : " + iredUser.getEmail());
       } else {
           titleFun.setText("邮箱 : " + "无");
       }
       titleFun.addTab();
       //换行
       titleFun.addBreak();
       if (StringUtils.isNotEmpty(iredUser.getIdCardNo())) {
           String decrypt = AESUtil.decrypt(iredUser.getIdCardNo());
           titleFun.setText("身份证号 : " + decrypt);
       } else {
           titleFun.setText("身份证号 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getCerNo())) {
           titleFun.setText("毕业证编号 : " + iredUser.getCerNo());
       } else {
           titleFun.setText("毕业证编号 : " + "无");
       }
   }


   public void createTitleParagraphByStydentInfo3(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       if (StringUtils.isNotEmpty(iredUser.getEmergencyContact())) {
           titleFun.setText("紧急联系人 : " + iredUser.getEmergencyContact());
       } else {
           titleFun.setText("紧急联系人 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getEmergencyContactPhone())) {
           titleFun.setText("紧急联系电话 : " + iredUser.getEmergencyContactPhone());
       } else {
           titleFun.setText("紧急联系电话 : " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo4(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       if (StringUtils.isNotEmpty(iredUser.getType())) {
           titleFun.setText("学员类型 : " + iredUser.getType());
       } else {
           titleFun.setText("学员类型 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getDirection())) {
           titleFun.setText("培训方向 : " + iredUser.getDirection());
       } else {
           titleFun.setText("培训方向 : " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo5(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       if (StringUtils.isNotEmpty(iredUser.getSchoolName())) {
           titleFun.setText("所属院校 : " + iredUser.getSchoolName());
       } else {
           titleFun.setText("所属院校 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getSpecialtyName())) {
           titleFun.setText("专业 : " + iredUser.getSpecialtyName());
       } else {
           titleFun.setText("专业 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getEducation())) {
           titleFun.setText("学历 : " + iredUser.getEducation());
       } else {
           titleFun.setText("学历 : " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo6(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       if (StringUtils.isNotEmpty(iredUser.getCompanyName())) {
           titleFun.setText("所属企业 : " + iredUser.getCompanyName());
       } else {
           titleFun.setText("所属企业 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getJobTitle())) {
           titleFun.setText("职位 : " + iredUser.getJobTitle());
       } else {
           titleFun.setText("职位 : " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo7(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       if (StringUtils.isNotEmpty(iredUser.getSpecialty())) {
           titleFun.setText("特长 : " + iredUser.getSpecialty());
       } else {
           titleFun.setText("特长 : " + "无");
       }
       titleFun.addTab();
       titleFun.addTab();
       if (StringUtils.isNotEmpty(iredUser.getExpectIndustryName())) {
           titleFun.setText("就业意向 : " + iredUser.getExpectIndustryName());
       } else {
           titleFun.setText("就业意向 : " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo8(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       if (StringUtils.isNotEmpty(iredUser.getAddress())) {
           titleFun.setText("现居住地 : " + iredUser.getAddress());
       } else {
           titleFun.setText("现居住地 : " + "无");
       }
   }

   public void createTitleParagraphByStydentInfo9(XWPFDocument document, IredUser iredUser) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       if (StringUtils.isNotEmpty(iredUser.getIntendedResidence())) {
           titleFun.setText("意向居住地 : " + iredUser.getIntendedResidence());
       } else {
           titleFun.setText("意向居住地 : " + "无");
       }
   }


   public void createTitleParagraph11(XWPFDocument document, List<String[]> tableList) {
       if (tableList.size() > 0) {
           this.createTitle(document.createParagraph(), "二、教育经历");
           this.createTable(document, tableList);
       }
   }

   public void createTitleParagraph12(XWPFDocument document, List<String[]> tableList) {
       if (tableList.size() > 0) {
           this.createTitle(document.createParagraph(), "三、就业经历");
           this.createTable(document, tableList);
       }
   }

   public void createTitleParagraph10(XWPFDocument document, List<String[]> tableList) {
       if (tableList.size() > 0) {
           this.createTitle(document.createParagraph(), "四、自媒体信息");
           this.createTable(document, tableList);
       }
   }

   public void createTitleParagraph20(XWPFDocument document, List<String[]> tableList) {
       if (tableList.size() > 0) {
           this.createTable(document, tableList);
       }
   }


   public void createTitleParagraph13(XWPFDocument document, List<String> list, StudentWorkInfoDto studentWorkInfoDto) {
       this.createTitle(document.createParagraph(), "五、学生作品");
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       InputStream in = null;
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       try {
           for (String s : list) {
               URL url = new URL(s);
               in = url.openStream();
               titleFun.addPicture(in, org.apache.poi.xwpf.usermodel.Document.PICTURE_TYPE_PNG, "",
                       Units.pixelToEMU(PICTURE_SIZE), Units.pixelToEMU(PICTURE_SIZE));
           }
           //换行
           titleFun.addBreak();
           titleFun.setFontSize(14);
           titleFun.setFontFamily("宋体(中文)");
           if (StringUtils.isNotEmpty(studentWorkInfoDto.getLiveStreaming())) {
               titleFun.setText("直播地址 : " + studentWorkInfoDto.getLiveStreaming());
           } else {
               titleFun.setText("直播地址 : " + "无");
           }
           //换行
           titleFun.addBreak();
           if (StringUtils.isNotEmpty(studentWorkInfoDto.getOther())) {
               titleFun.setText("其他 : " + studentWorkInfoDto.getOther());
           } else {
               titleFun.setText("其他 : " + "无");
           }
       } catch (InvalidFormatException e) {
           e.printStackTrace();
       } catch (IOException e) {
           e.printStackTrace();
       }
       titleFun.addTab();
       titleFun.addTab();
   }

   public void createTitleParagraphClassesStudentStudy(XWPFDocument document, ClassesStudentStudy classesStudentStudy) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       if (StringUtils.isNotEmpty(classesStudentStudy.getTrainingOften())) {
           titleFun.setText("培训时长 : " + classesStudentStudy.getTrainingOften());
       } else {
           titleFun.setText("培训时长: " + "无");
       }
   }

   public void createTitleParagraphClassesStudentStudy3(XWPFDocument document, List<IredTeacher> listByIdList) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       titleFun.setText("教务教师 : ");
       for (IredTeacher iredTeacher : listByIdList) {
           if (StringUtils.isNotEmpty(iredTeacher.getTeacherName())) {
               titleFun.setText(iredTeacher.getTeacherName());
               titleFun.addTab();
               titleFun.addTab();
           } else {
               titleFun.setText("无");
           }
       }
   }

   public void createTitleParagraphClassesStudentStudy4(XWPFDocument document, List<IredTeacher> listByIdList) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       titleFun.setText("培训教师 : ");
       for (IredTeacher iredTeacher : listByIdList) {
           if (StringUtils.isNotEmpty(iredTeacher.getTeacherName())) {
               titleFun.setText(iredTeacher.getTeacherName());
               titleFun.addTab();
               titleFun.addTab();
           } else {
               titleFun.setText("无");
           }
       }
   }

   public void createTitleParagraphClassesStudentStudy1(XWPFDocument document, ClassesStudentStudy classesStudentStudy) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");

       if (StringUtils.isNotEmpty(classesStudentStudy.getNames())) {
           titleFun.setText("班级 : " + classesStudentStudy.getNames());
       } else {
           titleFun.setText("班级: " + "无");
       }
       titleFun.addTab();
       //换行
       titleFun.addBreak();
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
       if (null != classesStudentStudy.getStartdate()) {
           String startdate = format.format(classesStudentStudy.getStartdate());
           titleFun.setText("培训开始时间 : " + startdate);
       } else {
           titleFun.setText("培训开始时间: " + "无");
       }
       titleFun.addTab();
       //换行
       titleFun.addBreak();
       if (null != classesStudentStudy.getEnddate()) {
           String endDate = format.format(classesStudentStudy.getEnddate());
           titleFun.setText("培训结束时间 : " + endDate);
       } else {
           titleFun.setText("培训结束时间: " + "无");
       }
   }

   public void createTitleParagraphClassesStudentStudy2(XWPFDocument document, TeacherEvaluation teacherEvaluation) {
       //新建一个标题段落对象(就是一段文字)
       XWPFParagraph titleParagraph = document.createParagraph();
       //创建文本对象
       XWPFRun titleFun = titleParagraph.createRun();
       titleFun.setFontSize(14);
       titleFun.setFontFamily("宋体(中文)");
       String employmentRecommendationType = teacherEvaluation.getEmploymentRecommendationType();
       if (StringUtils.isNotEmpty(employmentRecommendationType)) {
           titleFun.setText("就业推荐 : " + employmentRecommendationType);
       } else {
           titleFun.setText("就业推荐: " + "无");
       }
       titleFun.addTab();

       String employmentDirection = teacherEvaluation.getEmploymentDirection();
       if (StringUtils.isNotEmpty(employmentDirection)) {
           titleFun.setText("就业方向 : " + employmentDirection);
       } else {
           titleFun.setText("就业方向: " + "无");
       }
   }


   /**
    * 创建表格
    */
   public void createTable(XWPFDocument document, List<String[]> tableList) {
       XWPFTable table = document.createTable(tableList.size(), tableList.get(0).length);
       //设置表格的宽度
       CTTblWidth comTableWidth = table.getCTTbl().addNewTblPr().addNewTblW();
       comTableWidth.setType(STTblWidth.PCT);
       comTableWidth.setW(BigInteger.valueOf(5000));
       // 填充数据
       int length = tableList.size();
       for (int i = 0; i < length; i++) {
           XWPFTableRow row = table.getRow(i);
           List<XWPFTableCell> cells = row.getTableCells();
           for (int j = 0; j < cells.size(); j++) {
               cells.get(j).setText(tableList.get(i)[j]);
           }
       }
   }

   /**
    * 创建标题
    *
    * @param paragraph
    * @param data
    */

   public void createTitle(XWPFParagraph paragraph, String data) {
       XWPFRun createRun = paragraph.insertNewRun(0);
       createRun.setText(data);
       createRun.setFontFamily("宋体");
       createRun.setFontSize(14);
       createRun.setBold(true);
       paragraph.setSpacingAfter(10);
       paragraph.setSpacingBefore(10);
       //对齐方式
       paragraph.setAlignment(ParagraphAlignment.LEFT);
   }

   public void exportCheckWord(XWPFDocument document, String savePath) throws IOException {
       saveDocument(document, savePath);
   }

   public void saveDocument(XWPFDocument document, String savePath) throws IOException {
       OutputStream os = new FileOutputStream(savePath);
       document.write(os);
       os.close();
   }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值