Java打印Excel

简介: 本文讲解如何用Java打印Excel。

一、Java打印Excel



Java打印Excel


1.1、引入依赖


17.png


<!-- easy poi依赖 -->
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>4.1.0</version>
        </dependency>


1.2、在需要打印的对象属性上加注解@Excel


1.如果属性是单个字段则加@Excel注解,


2.如果是属性是对象则加@ExcelEntity,并且所引用的属性对象里面也需要加上@Excel注解


3.如果感觉字段的值比较长,可以设置宽度 width设置


4.如果有特殊格式,例如日期,可以使用format


18.png


@ApiModelProperty(value = "合同起始日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    @Excel(name = "合同起始日期",width = 20,format = "yyyy-MM-dd")
    private LocalDate beginContract;
    @ApiModelProperty(value = "合同终止日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    @Excel(name = "合同终止日期",width = 20,format = "yyyy-MM-dd")
    private LocalDate endContract;
    @ApiModelProperty(value = "工龄")
    private Integer workAge;
    @ApiModelProperty(value = "工资账套ID")
    private Integer salaryId;
    @ApiModelProperty(value = "民族")
    @TableField(exist = false)
    @ExcelEntity(name = "民族")
    private Nation nation;
    @ApiModelProperty(value = "政治面貌")
    @TableField(exist = false)
    @ExcelEntity(name = "政治面貌")
    private PoliticsStatus politicsStatus;


1.3、打印接口


定义打印接口,接口中将查出来的数据放入ExportParams和Workbook,最后输出


19.png


 @ApiOperation(value = "导出员工数据")
    @GetMapping(value = "/export",produces = "application/octet-stream")
    public void exportEmployee(HttpServletResponse response){
        List<Employee> list = employeeService.getEmployee(null);
        ExportParams params = new ExportParams("员工表","员工表", ExcelType.HSSF);
        Workbook workbook = ExcelExportUtil.exportExcel(params, Employee.class, list);
        ServletOutputStream out = null;
        try {
            response.setHeader("content-type","application/octet-stream");
            response.setHeader("content-disposition","attachment;filename="+ URLEncoder.encode("员工表.xls","UTF-8"));
            out =  response.getOutputStream();
            workbook.write(out);
        } catch (IOException e){
            e.printStackTrace();
        }finally {
            if(null!=out){
                try {
                    out.close();
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
        }


1.4、总结


本次使用的是easy poi开源插件实现的打印功能,具体的使用方法可以在码云上搜索easy poi进行学习使用。



相关文章
|
3天前
|
Java
java导出复杂excel
java导出复杂excel
|
2天前
|
Java
java的excel列行合并模版
java的excel列行合并模版
|
16天前
|
Java Apache
java读取excel数据案例
Java代码示例使用Apache POI库读取Excel(example.xlsx)数据。创建FileInputStream和XSSFWorkbook对象,获取Sheet,遍历行和列,根据单元格类型(STRING, NUMERIC, BOOLEAN)打印值。需引入Apache POI库并确保替换文件路径。
11 1
|
27天前
|
Web App开发 前端开发 安全
如何用JAVA如何实现Word、Excel、PPT在线前端预览编辑?
随着信息化的发展,在线办公也日益成为了企业办公和个人学习不可或缺的一部分,作为微软Office的三大组成部分:Word、Excel和PPT也广泛应用于各种在线办公场景,但是由于浏览器限制及微软Office的不开源等特性,导致Word、Excel和PPT在在线办公很难整合到自己公司的OA或者文档系统。
365 2
|
2月前
|
SQL Java easyexcel
【Java】百万数据excel导出功能如何实现
【Java】百万数据excel导出功能如何实现
170 0
|
3月前
|
Java
POI上传excel的java后台逻辑
POI上传excel的java后台逻辑
|
3月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
123 0
|
3月前
|
Java
|
3月前
|
Java easyexcel Maven
【Java专题_04】集成EasyExcel进行Excel导入导出详细教程
【Java专题_04】集成EasyExcel进行Excel导入导出详细教程
|
4月前
|
Linux
Linux 终端命令之文件浏览(1) cat
Linux 终端命令之文件浏览(1) cat
33 0
Linux 终端命令之文件浏览(1) cat