package com.shequ.util;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Description: 表格工具类
*/
public class POIUtil {
public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, boolean isCreateHeader, HttpServletResponse response) {
ExportParams exportParams = new ExportParams(title, sheetName);
exportParams.setCreateHeadRows(isCreateHeader);
defaultExport(list, pojoClass, fileName, response, exportParams);
}
public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, HttpServletResponse response) {
defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName));
}
public static void exportExcel(List<Map<String, Object>> list, String fileName, HttpServletResponse response) {
defaultExport(list, fileName, response);
}
private static void defaultExport(List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams) {
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list);
if (workbook != null) ;
downLoadExcel(fileName, response, workbook);
}
private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) {
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
workbook.write(response.getOutputStream());
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
}
private static void defaultExport(List<Map<String, Object>> list, String fileName, HttpServletResponse response) {
Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
if (workbook != null) ;
downLoadExcel(fileName, response, workbook);
}
/**
* 导入
* @param filePath
* @param titleRows
* @param headerRows
* @param pojoClass
* @param <T>
* @return
*/
public static <T> List<T> importExcel(String filePath, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
if (StringUtils.isBlank(filePath)) {
return null;
}
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
List<T> list = null;
try {
list = ExcelImportUtil.importExcel(new File(filePath), pojoClass, params);
} catch (NoSuchElementException e) {
throw new RuntimeException("模板不能为空");
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
return list;
}
/**
* 导入表格
* @param file
* @param pojoClass
* @param <T>
* @return
*/
public static <T> List<T> importExcel(MultipartFile file, Class<T> pojoClass) {
if (file == null) {
return null;
}
ImportParams params = new ImportParams();
try {
List<T> list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
return list;
} catch (NoSuchElementException e) {
throw new RuntimeException("excel文件不能为空");
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
/*
导出表格
*/
public static void exportExcel(Collection<?> listData, Class<?> pojoClass, String headTitle, String sheetName, HttpServletResponse response) {
ExportParams params = new ExportParams(null, null);
params.setHeight((short) 8);
params.setStyle(ExcelExportMyStylerImpl.class);
try {
Workbook workbook = ExcelExportUtil.exportExcel(params, pojoClass, listData);
String fileName = headTitle + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
fileName = URLEncoder.encode(fileName, "UTF8");
response.setContentType("application/vnd.ms-excel;chartset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename="+fileName + ".xls");
ServletOutputStream out=response.getOutputStream();
workbook.write(out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本图书捐赠管理系统的用户角色设计分析是分两部分的,根据不同用户的不同角色,对系统进行用例设计,为后续设计做铺垫。 本系统主要分为普通用户和管理员。普通用户主要是对微信小程序进行系统的使用。而管理员主要是对本图书捐赠管理系统的所有信息进行管理,主要包括用户这部分所涉及到的信息等进行管理。 小程序前端用户的主要功能有: 注册登录,普通用户可填写信息进行注册登录以享用功能。 文章查看,普通用户可查看发表的文章。 意见反馈,普通用户可对小程序的使用问题进行反馈。 图书查看,普通用户可看到所有捐赠图书信息,根据提供的图书编号进行查询。 图书收藏,普通用户可对捐赠图书进行收藏。 公告查看,普通用户可看到管理员发布的公告。 后台管理者主要功能有: 文章添加,管理员可根据投稿文章对小程序进行文章添加。 图书添加,管理员可根据捐赠人信息对小程序进行捐赠图书添加。 图书收藏,管理员可查询到用户收藏图书情况。 意见反馈,管理员可查询到用户意见反馈内容。
资源推荐
资源详情
资源评论
收起资源包目录
基于java web ssm(Springboot+SpringMVC+Mybatis)+Mysql+微信小程序的图书捐赠管理系 (854个子文件)
$PRODUCT_WORKSPACE_FILE$ 1KB
last-build.bin 1B
POIUtil.class 8KB
POIUtil.class 8KB
Repair.class 3KB
Repair.class 3KB
GoodsController.class 3KB
GoodsController.class 3KB
RepairApi.class 3KB
RepairApi.class 3KB
CommonController.class 3KB
CommonController.class 3KB
MessageController.class 3KB
MessageController.class 3KB
ExcelExportMyStylerImpl.class 3KB
ExcelExportMyStylerImpl.class 3KB
GetOpenIDUtil.class 3KB
GetOpenIDUtil.class 3KB
AdminController.class 3KB
AdminController.class 3KB
Goods.class 3KB
Goods.class 3KB
User.class 3KB
User.class 3KB
Message.class 3KB
Message.class 3KB
Vote.class 3KB
Vote.class 3KB
VoteApi.class 2KB
VoteApi.class 2KB
MyTool.class 2KB
MyTool.class 2KB
GoodsPayController.class 2KB
GoodsPayController.class 2KB
Repairontroller.class 2KB
Repairontroller.class 2KB
Admin.class 2KB
Admin.class 2KB
GoodsPayApi.class 2KB
GoodsPayApi.class 2KB
UserApi.class 2KB
UserApi.class 2KB
GoodsApi.class 2KB
GoodsApi.class 2KB
GoodsServiceImpl.class 2KB
GoodsServiceImpl.class 2KB
GoodsPayServiceImpl.class 1KB
GoodsPayServiceImpl.class 1KB
MessageServiceImpl.class 1KB
MessageServiceImpl.class 1KB
MessageApi.class 1KB
MessageApi.class 1KB
GoodsPay.class 1KB
GoodsPay.class 1KB
RepairServiceImpl.class 1KB
RepairServiceImpl.class 1KB
AdminServiceImpl.class 1KB
AdminServiceImpl.class 1KB
GetOpenIdApi.class 1KB
GetOpenIdApi.class 1KB
Layui.class 932B
Layui.class 932B
RandNum.class 919B
RandNum.class 919B
UserServiceImpl.class 895B
UserServiceImpl.class 895B
VoteServiceImpl.class 748B
VoteServiceImpl.class 748B
GoodsPayMapper.class 607B
GoodsPayMapper.class 607B
GoodsMapper.class 606B
GoodsMapper.class 606B
MessageMapper.class 529B
GoodsPayService.class 529B
MessageMapper.class 529B
GoodsPayService.class 529B
GoodsService.class 528B
GoodsService.class 528B
RepairMapper.class 467B
RepairMapper.class 467B
AdminMapper.class 465B
AdminMapper.class 465B
Constant.class 457B
Constant.class 457B
MessageService.class 451B
MessageService.class 451B
RepairService.class 389B
RepairService.class 389B
AdminService.class 387B
AdminService.class 387B
UserMapper.class 309B
UserMapper.class 309B
VoteMapper.class 241B
VoteMapper.class 241B
UserService.class 231B
UserService.class 231B
VoteService.class 163B
VoteService.class 163B
.classpath 1KB
org.eclipse.wst.common.component 646B
共 854 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
进击的大海贼
- 粉丝: 1w+
- 资源: 209
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- matlab平台的虫害监测.zip
- matlab平台的虫害检测.zip
- 基于java的在线英语阅读分级平台设计与实现.docx
- 基于java的疫情物资捐赠和分配系统设计与实现.docx
- 基于java的综合小区管理系统设计与实现.docx
- matlab平台的答题卡识别系统.zip
- matlab平台的答题纸试卷自动识别.zip
- matlab平台的答题卡自动识别系统.zip
- matlab平台的打印纸缺陷检测GUI设计.zip
- matlab平台的道路桥梁裂缝检测.zip
- pcasvc.dll-windows操作系统提示缺失该dll文件可下载使用
- matlab平台的打架斗殴异常行为识别.zip
- matlab平台的的DWT数字音频水印系统.zip
- matlab平台的的DWT数字水印设计.zip
- matlab平台的的CNN卷积神经网络疲劳检测.zip
- matlab平台的的PCB版字符识别.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功