easypoi方式浏览器下载及实现

pojo
/**
*
*/

package com.wgjn.modules.cms.entity;

import java.io.Serializable;


import java.util.Date;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 系统信息

 *
 * @data 2018年3月13日
 */

@TableName("system_base_info")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SystemBaseInfoEntity  implements Serializable{
	/**
	 *
	 */
	private static final long serialVersionUID = -23913426183574230L;
	//系统ID
	@TableId
	@Excel(name = "系统ID")
//	@ExcelProperty(value = {"系统信息","系统ID"}, index = 0)
	private Long systemId;
	//系统编号(不能为空)
	@Excel(name = "系统编号")
//	@ExcelProperty(value = {"系统信息","系统编号"}, index = 1)
	private String systemCode;
	//系统名称(不能为空)
	@Excel(name = "系统名称")
//	@ExcelProperty(value = {"系统信息","系统名称"}, index = 2)
	private String systemName;
	//系统状态(01:开发、02、测试、03:已上线、04:暂停 05:废弃)
	@Excel(name = "系统状态")
//	@ExcelProperty(value = {"系统信息","系统状态"}, index = 3)
	private String systemStatus;
	//系统备注(不能为空)
	@Excel(name = "备注")
//	@ExcelProperty(value = {"系统信息","备注"}, index = 4)
	private String remark;

	//系统创建时间(不能为空)
	@Excel(name = "创建时间")
//	@ExcelProperty(value = {"系统信息","系统创建时间"}, index = 5)
	private Date createTime;
	//系统创建人(不能为空)
	@Excel(name = "创建用户")
//	@ExcelProperty(value = {"系统信息","创建用户"}, index = 6)
	private String createUser;
	@Excel(name = "更新时间")
//   @ExcelProperty(value = {"系统信息","更新时间"}, index = 7)
	private Date updateTime;
	@Excel(name = "更新用户")
//	@ExcelProperty(value = {"系统信息","更新用户"}, index = 8)
	private String updateUser;

	private String extendField1;
	private String extendField2;
	private String extendField3;
	private String extendField4;
	private String extendField5;

	@TableField(exist=false)
	private String userName;

	@TableField(exist=false)
	private long userId;

	@TableField(exist=false)
	private String members;

	@TableField(exist=false)
	private String membersIds;

	public Long getSystemId() {
		return systemId;
	}
	public void setSystemId(Long systemId) {
		this.systemId = systemId;
	}
	public String getSystemCode() {
		return systemCode;
	}
	public void setSystemCode(String systemCode) {
		this.systemCode = systemCode;
	}
	public String getSystemName() {
		return systemName;
	}
	public void setSystemName(String systemName) {
		this.systemName = systemName;
	}
	public String getSystemStatus() {
		return systemStatus;
	}
	public void setSystemStatus(String systemStatus) {
		this.systemStatus = systemStatus;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public String getCreateUser() {
		return createUser;
	}
	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	public String getUpdateUser() {
		return updateUser;
	}
	public void setUpdateUser(String updateUser) {
		this.updateUser = updateUser;
	}
	public String getExtendField1() {
		return extendField1;
	}
	public void setExtendField1(String extendField1) {
		this.extendField1 = extendField1;
	}
	public String getExtendField2() {
		return extendField2;
	}
	public void setExtendField2(String extendField2) {
		this.extendField2 = extendField2;
	}
	public String getExtendField3() {
		return extendField3;
	}
	public void setExtendField3(String extendField3) {
		this.extendField3 = extendField3;
	}
	public String getExtendField4() {
		return extendField4;
	}
	public void setExtendField4(String extendField4) {
		this.extendField4 = extendField4;
	}
	public String getExtendField5() {
		return extendField5;
	}
	public void setExtendField5(String extendField5) {
		this.extendField5 = extendField5;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	public long getUserId() {
		return userId;
	}
	public void setUserId(long userId) {
		this.userId = userId;
	}
	public String getMembers() {
		return members;
	}
	public void setMembers(String members) {
		this.members = members;
	}
	public String getMembersIds() {
		return membersIds;
	}
	public void setMembersIds(String membersIds) {
		this.membersIds = membersIds;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}





}
package com.wgjn.modules.cms.entity;


import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 运维系统映射表
 * </p>
 *
 * @author anshuangqing
 * @since 2020-01-21
 */
@TableName("devops_system_mapping_info")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DevopsSystemMappingInfoEntity  implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 系统ID
     */
    @Excel(name = "系统ID")
//    @ExcelProperty(value = {"运维系统映射表","系统ID"}, index = 0)
    private Long systemId;

    /**
     * 运维系统ID
     */
    @Excel(name = "运维系统ID")
//    @ExcelProperty(value = {"运维系统映射表","运维系统ID"}, index = 1)
    private Long devopsSystemId;

    /**
     * 备注
     */
    @Excel(name = "备注")
//    @ExcelProperty(value = {"运维系统映射表","备注"}, index = 2)
    private String remark;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间")
//    @ExcelProperty(value = {"运维系统映射表","创建时间"}, index = 3)
    private Date createTime;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
//    @ExcelProperty(value = {"运维系统映射表","创建人"}, index = 4)
    private String createUser;

    /**
     * 修改时间
     */
    @Excel(name = "修改时间")
//    @ExcelProperty(value = {"运维系统映射表","修改时间"}, index = 5)
    private Date updateTime;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    /* @ExcelProperty(value = {"运维系统映射表","修改人"}, index = 6)*/
    private String updateUser;

    /**
     * 扩展字段1
     */
    @Excel(name = "扩展字段1")
    private String extendField1;

    /**
     * 扩展字段2
     */
    @Excel(name = "扩展字段2")
    private String extendField2;

    /**
     * 扩展字段3
     */
    @Excel(name = "扩展字段3")
    private String extendField3;

    /**
     * 扩展字段4
     */
    @Excel(name = "扩展字段4")
    private String extendField4;

    /**
     * 扩展字段5
     */
    @Excel(name = "扩展字段5")
    private String extendField5;

    public Long getSystemId() {
        return systemId;
    }

    public void setSystemId(Long systemId) {
        this.systemId = systemId;
    }
    public Long getDevopsSystemId() {
        return devopsSystemId;
    }

    public void setDevopsSystemId(Long devopsSystemId) {
        this.devopsSystemId = devopsSystemId;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public String getExtendField1() {
        return extendField1;
    }

    public void setExtendField1(String extendField1) {
        this.extendField1 = extendField1;
    }
    public String getExtendField2() {
        return extendField2;
    }

    public void setExtendField2(String extendField2) {
        this.extendField2 = extendField2;
    }
    public String getExtendField3() {
        return extendField3;
    }

    public void setExtendField3(String extendField3) {
        this.extendField3 = extendField3;
    }
    public String getExtendField4() {
        return extendField4;
    }

    public void setExtendField4(String extendField4) {
        this.extendField4 = extendField4;
    }
    public String getExtendField5() {
        return extendField5;
    }

    public void setExtendField5(String extendField5) {
        this.extendField5 = extendField5;
    }

    @Override
    public String toString() {
        return "DevopsSystemMappingInfo{" +
                "systemId=" + systemId +
                ", devopsSystemId=" + devopsSystemId +
                ", remark=" + remark +
                ", createTime=" + createTime +
                ", createUser=" + createUser +
                ", updateTime=" + updateTime +
                ", updateUser=" + updateUser +
                ", extendField1=" + extendField1 +
                ", extendField2=" + extendField2 +
                ", extendField3=" + extendField3 +
                ", extendField4=" + extendField4 +
                ", extendField5=" + extendField5 +
                "}";
    }
}

utils

package com.wgjn.common.utils;

import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.export.ExcelExportServer;
import cn.afterturn.easypoi.excel.export.styler.ExcelExportStylerDefaultImpl;
import com.wgjn.modules.cms.entity.DevopsSystemMappingInfoEntity;
import com.wgjn.modules.cms.entity.SystemBaseInfoEntity;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FileDownloadutil {
    public  static void fileDownloadutil(SystemBaseInfoEntity systemBaseInfoEntity, List<DevopsSystemMappingInfoEntity> listDevops, HttpServletResponse response) throws IOException, ParseException {
        //方式一
       /* SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time= formatStr.format(date);
        Date dateTime = formatStr.parse(time);
        systemBaseInfoEntity.setCreateTime(dateTime);*/
  //格式化SystemBaseInfoEntity对象的时间
        Date date= systemBaseInfoEntity.getCreateTime();
        java.sql.Date sqlDate = new java.sql.Date(date.getTime());
        systemBaseInfoEntity.setCreateTime(sqlDate);

        List<SystemBaseInfoEntity> listSystem=  new ArrayList<>();
        listSystem.add(systemBaseInfoEntity);
//格式化运维系统管理表listDevops对象的日期格式
        for (int i = 0; i <listDevops.size() ; i++) {
          Date date1=  listDevops.get(i).getCreateTime();
            java.sql.Date sqlDate1 = new java.sql.Date(date1.getTime());
            listDevops.get(i).setCreateTime(sqlDate1);
        }
        ExportParams exportParams = new ExportParams(
                "系统信息表", null, "系统信息表");
        exportParams.setType(ExcelType.XSSF);
        ExportParams exportParams1 = new ExportParams(
                "运维系统基本信息表", null, "运维系统基本信息表");
        exportParams1.setType(ExcelType.XSSF);
        Workbook workbook = new XSSFWorkbook();

        ExcelExportServer excelExportServer = new ExcelExportServer();

        ExcelExportStylerDefaultImpl stylerDefault = new ExcelExportStylerDefaultImpl(workbook);

        excelExportServer.setExcelExportStyler(stylerDefault);
        excelExportServer.createSheet(workbook, exportParams, SystemBaseInfoEntity.class, listSystem);
        excelExportServer.createSheet(workbook, exportParams1, DevopsSystemMappingInfoEntity.class, listDevops);

//		     Drawing patriarch = workbook.getSheet("现金流量表").createDrawingPatriarch();

 //获取数据设置响应头
        OutputStream out=response.getOutputStream();
        String filename = "系统配置-运维系统管理" + ".xlsx";
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setContentType("application/ms-excel;charset=UTF-8");
        response.setHeader("Content-Disposition", "attachment;filename="
                .concat(String.valueOf(URLEncoder.encode(filename, "UTF-8"))));

       /* FileOutputStream outputStream = new FileOutputStream(
                "D:/t.xlsx");*/
        try {

            workbook.write(out);


        } catch (IOException e) {
            e.printStackTrace();
        }
        out.close();
    }

}

serviceImpl调用

@Override
	public void downloadFile(Long systemId, HttpServletResponse response) throws IOException, ParseException {
		List<DevopsSystemMappingInfoEntity> listDevops = devopsSystemMappingInfoService.selectList(
				new EntityWrapper<DevopsSystemMappingInfoEntity>().eq("system_id",systemId));

		/*	List<SystemBaseInfoEntity> listSystem=  new ArrayList<>();

		Map<String, Object> params=new LinkedHashMap<>();
		List<?> list1 = queryPage(params).getList();
		for (int i = 0; i <list1.size() ; i++) {
			Object systemObject=list1.get(i);
			SystemBaseInfoEntity systemBaseInfoEntity=(SystemBaseInfoEntity)systemObject;
			if (systemId.equals(systemBaseInfoEntity.getSystemId())){
				listSystem.add(systemBaseInfoEntity);
			}
		}*/
	SystemBaseInfoEntity systemBaseInfoEntity = systemBaseInfoService.selectOne(
				new EntityWrapper<SystemBaseInfoEntity>().eq("system_id",systemId));
		FileDownloadutil.fileDownloadutil(systemBaseInfoEntity,listDevops,response);


	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值