首页 > 编程语言 >java根据excel模板填充数据并导出

java根据excel模板填充数据并导出

时间:2023-08-10 15:44:47浏览次数:36  
标签:map java excel cell12 HSSFCellStyle put new now 模板

部分代码片段

  <!--导出导入 excel-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.12</version>
        </dependency>
        <!--jxls导出依赖jar包-->
        <dependency>
            <groupId>net.sf.jxls</groupId>
            <artifactId>jxls-core</artifactId>
            <version>1.0.6</version>
            <scope>compile</scope>
        </dependency>

 

   //region 导出
                String filePath = systemDir + staticFileBasePath + "/评审专家注册登记表_YJY.xls";
                if(UserInfo.getExpertPageMode() != null && UserInfo.getExpertPageMode() == 2){
                    filePath = systemDir + staticFileBasePath + "/评审专家注册登记表.xls";
                }
                fileInput = new FileInputStream(filePath);
                is = new BufferedInputStream(fileInput);


                List<String> sheetList = new ArrayList<String>();//工作表名称
                sheetList.add("Sheet1");

                LocalDateTime now = LocalDateTime.now();
                List<Map<String,Object>> parmsList = new ArrayList<>();//入参
                Map<String,Object> map = new HashMap<>();
                map.put("year",now.getYear());
                map.put("month",now.getMonth().getValue());
                map.put("day",now.getDayOfMonth());
                map.put("name",NAME);
                map.put("idCard",ID_CARD);
                map.put("phone",PHONE);
                map.put("sex",sex);
                map.put("adress",POSTAL_ADDRESS);
                map.put("email",E_MAIL);
                map.put("industry",work);
                map.put("wrokYear",START_WORK_DATE_YEAR);
                map.put("highDegree",HIGH_DEGREE);
                map.put("graduateSchool",GRADUATE_SCHOOL);
                map.put("industryTxt",INDUSTRY_ID_TXT);
                map.put("levelTxt",LEVEL_ID_TXT);
                map.put("org",ORG);
                map.put("aviodUnit",AVIOD_UNIT);
                map.put("registType",REGISTRATION_TYPE);
                map.put("registSource",ZFCG_SOURCE);
                map.put("mainTxt",mainStr);
                map.put("elseTxt",elseStr);
                map.put("zjType",ZjType);
                map.put("major",MAJOR_TXT);
                map.put("healath",HEALTH);

                parmsList.add(map);

                XLSTransformer transformer = new XLSTransformer();
                HSSFWorkbook workbook = (HSSFWorkbook) transformer.transformMultipleSheetsList(is, parmsList,sheetList,"expert",new HashMap(),0);

                //region 特殊单元格处理
                HSSFSheet hssfSheet = workbook.getSheet("Sheet1");
                if(UserInfo.getExpertPageMode() != null && UserInfo.getExpertPageMode()==2){
                    //在职情况
                    if(StringUtils.isNotEmpty(work)){
                        HSSFCell cell7 = hssfSheet.getRow(7).getCell(2);
                        HSSFCellStyle cellStyle7 = cell7.getCellStyle();//获取单元格样式
                        cellStyle7.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平居中
                        cellStyle7.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
                        if("在职".equals(work)){
                            cell7.setCellValue("☑在职     □离职");
                        }else{
                            cell7.setCellValue("□在职     ☑离职");
                        }
                    }

                    //登记类型
                    if(StringUtils.isNotEmpty(REGISTRATION_TYPE)){
                        HSSFCell cell12 = hssfSheet.getRow(12).getCell(2);
                        HSSFCellStyle cellStyle12 = cell12.getCellStyle();//获取单元格样式
                        cellStyle12.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平居中
                        cellStyle12.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
                        if("1".equals(REGISTRATION_TYPE)){
                            cell12.setCellValue("☑新注册专家     □已获得有关政府部门的评审专家资格认定");
                        }else {
                            cell12.setCellValue("□新注册专家     ☑已获得有关政府部门的评审专家资格认定");
                        }
                    }
                }
                //endregion

                response.setHeader("content-disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
                response.setContentType("application/msexcel");
                os = response.getOutputStream();
                workbook.write(os);

                //endregion

 

excel模板

 

标签:map,java,excel,cell12,HSSFCellStyle,put,new,now,模板
From: https://www.cnblogs.com/privateLogs/p/17620508.html

相关文章

  • java面向切面编程---AOP之环绕通知
    packagecom.xlkh.bigscreen.common.aspect;importcom.alibaba.fastjson.JSON;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.xlkh.bigscreen.common.utils.RedisDeviceUtil;importcom.xlkh.bigscreen.service.bigscreen.BigscreenRedisService;imp......
  • 2、excel VLOOKUP函数
    来自:https://baijiahao.baidu.com/s?id=1726908452625139263&wfr=spider&for=pc功能:在表格的首列查找指定的数值,并返回表格当前行中指定列处的数值。结构:=VLOOKUP(查找值,数据表,列序数,匹配条件)说明:1、第一参数:查找值,比如说根据【姓名】来查找【工资】,【姓名】就是查找......
  • tomcat10 javaweb webapp jstl的maven依赖库配置
    1.在pom.xml中配置,可能不是最新版,在idea中可能会报黄线,但是可以正常使用<dependencies><!--https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api--><dependency><groupId>jakarta.servlet</groupId>......
  • Axure通用电商后台管理系高保真交互模板原型图附元件库4种后台模板风格
    Axure通用电商后台管理交互模板原型图附元件库4种后台模板风格,原型中使用4种不同的布局框架,你可以根据自己的需求,去选中对应的菜单排版布局。另外,原型图中使用了较多的交互元件、母版、动态面板,基本还原了真实项目中的交互效果。是一套标准化的后台模板。Axure电商后台管理系高......
  • freemarker 通过 URL 获取模板文件导出
    通过远程模板文件导出word或其他格式文件。示例是SpringBoot整合freemarker。添加freemarker依赖<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.28</version></dependency>......
  • Java和线程的一些讨论
    Java语言及Java的多线程机制,其中:第一部分是对Java简介,包括Java产生的背景和经过、Java的特点和应用方向、Java发展趋势.第二部分介绍面向对象的Java编程方法、及与C++语言作了一些比较.包括如何编写JavaApolet、在Applet中如何实现各种常用对象、以及使用Java实现高级编程(......
  • Java修改jar包中个别文件并重新打包
    前言本文将记录在开发中,如果遇到需要修改jar包中内容的情况下该如何解决。以需要修改下图的ueditor-1.1.2包包及文件为例:已明确需要修改如下三个文件:一、新建项目在明确需要修改哪几个文件之后,可以新建一个java项目,并且路径跟jar包一致(jar包里的内容可以用jd-gui查看)接......
  • 【25章】Java七大热门技术框架源码解析
    点击下载:【25章】Java七大热门技术框架源码解析 提取码:c12h Java七大热门技术框架源码解析视频教程分享,2023最新,一共25章!汇聚了JavaWeb开发主流热门框架(SpringFramework,SpringData,SpringBoot,SpringCloud,Mybatis,Tomcat,RocketMQ):框架1:SpringFrameworkspringframework是s......
  • 获取除法的整数部分;获取值的平方根,Excel全办到!
    1职场实例今天我们来利用Excel表格来解决两个关于数学取值的问题。问题1:返回商数的整数部分问题2:返回数值的平方根如下图所示:上图A列为被除数,B列为除数,我们想要在C列返回商(被除数÷除数)的整数部分。下图A列为一列数值,我们想要在B列得到返回A列数值的平方根。2解题思路今天的这两个......
  • Java语言代码示例
    packagecom.qgproxy;importjava.io.ByteArrayOutputStream;importjava.io.InputStream;importjava.net.Authenticator;importjava.net.HttpURLConnection;importjava.net.InetSocketAddress;importjava.net.PasswordAuthentication;importjava.net.Proxy;importjava.......