下载Excel后端实现

1.在pom文件中引入依赖

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.1</version>
</dependency>

2.在服务层中床架接口和实现类

//生成用户信息Excel表
File createUserExcelFile (PageRequest pageRequest);
package com.louis.mango.service.impl;


import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleDateTimeUnit;
import com.louis.mango.config.PoiUtils;
import com.louis.mango.entity.SysUser;
import com.louis.mango.mapper.SysUserMapper;
import com.louis.mango.service.SysUserService;
import com.mango.mangocare.page.PageRequest;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;

/**
 * <p>
 * 用户管理 服务实现类
 * </p>
 *
 * @author ZhangWeiQiang
 * @since 2020-11-04
 */
@Service
public  class SysUserServiceImpl implements SysUserService {

 @Autowired
 private SysUserMapper sysUserMapper;
//查询所有
 @Override
 public List<SysUser> findAll() {
  return sysUserMapper.findAll();
 }

 /**
  * 生成用户表
  * @param pageRequest
  * @return
  */
 @Override
 public File createUserExcelFile(PageRequest pageRequest) {

 PageRequest pageRequest1 = findPage(pageRequest);
  return createUserExcelFile((PageRequest) pageRequest.getContent());
 }
public static File createUserExcelFile(List<?> records) throws Exception {
 if (records == null) {
  records = new ArrayList<>();
 }
 XSSFWorkbook workbook = new XSSFWorkbook();
 XSSFSheet sheet = workbook.createSheet();
 XSSFRow rowo = sheet.createRow(0);
 int columnIndex = 0;
 rowo.createCell(columnIndex).setCellValue("No");
 rowo.createCell(columnIndex).setCellValue("ID");
 rowo.createCell(columnIndex).setCellValue("用户名");
 rowo.createCell(columnIndex).setCellValue("昵称");
 rowo.createCell(columnIndex).setCellValue("机构");
 rowo.createCell(columnIndex).setCellValue("角色");
 rowo.createCell(columnIndex).setCellValue("邮箱");
 rowo.createCell(columnIndex).setCellValue("手机号");
 rowo.createCell(columnIndex).setCellValue("状态");
 rowo.createCell(columnIndex).setCellValue("头像");
 rowo.createCell(columnIndex).setCellValue("创始人");
 rowo.createCell(columnIndex).setCellValue("创建时间");
 rowo.createCell(columnIndex).setCellValue("最后更新人");
 rowo.createCell(columnIndex).setCellValue("最后更新时间");
 for (int i = 0; i < records.size(); i++) {
 SysUser user = (SysUser)records.get(i);
 Row row = sheet.createRow(i + 1);
  for (int j = 0; j < columnIndex; j++) {
   row.createCell(j);
  }
  columnIndex = 0;
  row.getCell(columnIndex).setCellValue(i + 1);
  row.getCell(columnIndex).setCellValue(user.getId());
  row.getCell(columnIndex).setCellValue(user.getName());
  row.getCell(columnIndex).setCellValue(user.getNickName());
  row.getCell(columnIndex).setCellValue(user.getDelFlag());
  row.getCell(columnIndex).setCellValue(user.getEmail());
  row.getCell(columnIndex).setCellValue(user.getStatus());
  row.getCell(columnIndex).setCellValue(user.getAvatar());
  row.getCell(columnIndex).setCellValue(user.getCreateBy());
 //row.getCell(++columnIndex).setCellValue(DateTimeU);


 }
 return PoiUtils.createExcelFile(workbook,"download_user");

}
 private PageRequest findPage(PageRequest pageRequest) {
  return null;
 }


}

 

3.创建controller

@PostMapping("/excelUser")
public void exportExcelUser(@RequestBody PageRequest pageRequest,
                            HttpServletResponse res){
    File file = sysUserServic.createUserExcelFile(pageRequest);
    FileUtils.downloadFile(res,file,file.getName());

}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值