0建设营销型网站步骤wordpress 改cms
web/
2025/10/5 14:31:40/
文章来源:
0建设营销型网站步骤,wordpress 改cms,仿网站上的焦点图,开旗wordpress pdf缩略图EasyPOI是一款优秀的开源Java库#xff0c;专为简化和优化Excel文件的导入导出操作而设计。下面#xff0c;我会介绍EasyPOI在项目中使用EasyPOI#xff0c;实现Excel文件的高效操作。帮助读者全面了解和掌握这一工具。
EasyPOI简介 官网#xff1a; http://www.wupaas.co…EasyPOI是一款优秀的开源Java库专为简化和优化Excel文件的导入导出操作而设计。下面我会介绍EasyPOI在项目中使用EasyPOI实现Excel文件的高效操作。帮助读者全面了解和掌握这一工具。
EasyPOI简介 官网 http://www.wupaas.com/ 开发指南 http://doc.wupaas.com/docs/easypoi/easypoi-1c0u4mo8p4ro8 Gitee: https://gitee.com/lemur/easypoi#https://gitee.com/link?targethttp%3A%2F%2Fwww.wupaas.com%2F EasyPOI的目标是做到比Apache POI更简单降低Excel导入导出时的复杂度。其主要特点如下
简洁的APIEasyPOI拥有更为简洁直观的API使得操作Excel变得更加容易。注解驱动使用注解来配置Excel映射减少代码量提高开发效率。模板导出支持提供了丰富的模板导出功能便于生成各种复杂的报表。强大的导入功能支持大数据量的导入且可以对导入数据进行校验。多样的数据处理支持图片、公式、日期等多种类型的数据处理。
使用场景
数据报表生成可以快速生成企业内部的财务、销售等报表。数据汇总分析对收集来的大量数据进行汇总和分析生成可视化Excel报告。信息管理系统在学生、员工等信息管理系统中进行数据的快捷导入导出。
基础用法
环境准备
使用EasyPOI之前需要将其作为依赖加入到你的项目中。如果你使用Maven可以在pom.xml中加入如下依赖
主依赖
dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-base/artifactIdversion4.2.0/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-web/artifactIdversion4.2.0/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-annotation/artifactIdversion4.2.0/version/dependency
其他依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- MyBatis --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.0/version/dependency!-- MySQL Connector --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependency
数据库 Create TableCREATE TABLE user (id int(10) NOT NULL AUTO_INCREMENT COMMENT 编号,name varchar(255) DEFAULT NULL COMMENT 姓名,bir timestamp NULL DEFAULT NULL COMMENT 出生日期,photo varchar(150) DEFAULT NULL COMMENT 头像,habbys varchar(100) DEFAULT NULL COMMENT 爱好,cardno varchar(18) DEFAULT NULL COMMENT 身份证号,address varchar(60) DEFAULT NULL COMMENT 住址,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8FieldTypeComment主键idint(10) NOT NULL编号namevarchar(255) NULL姓名birtimestamp NULL出生日期photovarchar(150) NULL头像habbysvarchar(100) NULL爱好cardnovarchar(18) NULL身份证号addressvarchar(60) NULL住址
配置文件
mybatis.mapper-locationsclasspath:mapper/*Mapper.xml
mybatis.type-aliases-packagecom.yu.pojo
server.port8081
spring.datasource.driver-class-namecom.mysql.jdbc.Driver
spring.datasource.passwordroot
spring.datasource.urljdbc:mysql://localhost:3306/EasyPOI
spring.datasource.usernameroot
spring.thymeleaf.cachefalse
spring.servlet.multipart.max-file-size10MB
spring.servlet.multipart.max-request-size10MB
数据模型
Data
ExcelTarget(users)
public class User implements Serializable {Excel(name 编号)private String id;Excel(name 姓名)private String name;Excel(name 生日, format yyyy年MM月dd日)private Date bir;Excel(name 头像信息, type 2, savePath src/main/resources/static/images)private String photo;Excel(name 爱好, width 12.0)private String habbys;Excel(name 身份证号, width 15.0)private String cardno;Excel(name 家庭住址, width 15.0)private String address;
}DAO层
Mapper
public interface UserMapper {//查询所有ListUser findAll();//插入记录void save(User user);
}
UserMapper.xml
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.yu.dao.UserMapper!--查询所有--select idfindAll resultTypeUserselect id,name,bir,photo,habbys,cardno,address from user/select!--插入记录--insert idsave parameterTypeUser useGeneratedKeystrue keyPropertyidinsert into user values (#{id},#{name},#{bir},#{photo},#{habbys},#{cardno},#{address})/insert
/mapper
Service层接口
public interface UserService {ListUser findAll();//批量保存void saveAll(ListUser users);
}Service层服务类
Service
Transactional
public class UserServiceImpl implements UserService {Autowiredprivate UserMapper userMapper;Overridepublic ListUser findAll() {return userMapper.findAll();}Overridepublic void saveAll(ListUser users) {users.forEach(user - {user.setId(null);user.setPhoto(user.getPhoto().substring(user.getPhoto().lastIndexOf(\\) 1));System.out.println(user.getPhoto());userMapper.save(user);});}
}启动类
SpringBootApplication
public class EasyPOIApplication {public static void main(String[] args) {SpringApplication.run(EasyPOIApplication.class, args);}
}Thymeleaf
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8title导入excel的主页面/titlestylebody {font-family: Arial, sans-serif;background-color: #f5f5f5;}.container-fluid {max-width: 960px;margin: 0 auto;padding: 20px;}h1 {text-align: center;margin-bottom: 30px;}form {margin-bottom: 20px;}.form-group {display: flex;justify-content: center;align-items: center;}.form-control {margin-right: 10px;}table {width: 100%;border-collapse: collapse;}th, td {padding: 10px;text-align: left;border: 1px solid #ccc;}img {max-width: 60px;max-height: 60px;}.btn {display: inline-block;padding: 10px 20px;background-color: #007bff;color: #fff;text-decoration: none;border-radius: 4px;}.btn:hover {background-color: #0056b3;}/style
body
div classcontainer-fluiddiv classrowdiv classcol-md-12h1选择Excel文件导入到数据中/h1form th:action{/user/import} methodpost enctypemultipart/form-data classform-inlinediv classform-groupinput classform-control typefile nameexcelFileinput typesubmit classbtn btn-danger value导入数据/div/form/divdiv classcol-md-12h1显示导入数据列表/h1table classtable table-bordered trth编号/thth头像/thth姓名/thth生日/thth爱好/thth身份证号/thth家庭住址/th/trtr th:eachuser : ${users}td th:text${user.id}/tdtdimg th:src${/images/ user.photo} height60px alt/tdtd th:text${user.name}/tdtd th:text${#dates.format(user.bir,yyyy-MM-dd)}/tdtd th:text${user.habbys}/tdtd th:text${user.cardno}/tdtd th:text${user.address}/td/tr/tablehra th:href{/user/export} classbtn btn-info导出excel/a/div/div
/div/body
/htmlController层
Controller
RequestMapping(/user)
Slf4j
public class UserController {Autowiredprivate UserService userService;//查询所有RequestMapping(/findAll)public String findAll(HttpServletRequest request){ListUser users userService.findAll();request.setAttribute(users,users);return index;}//导入excelRequestMapping(/import)public String importExcel(MultipartFile excelFile) throws Exception {log.info(文件名称 [{}],excelFile.getOriginalFilename());ImportParams params new ImportParams();params.setTitleRows(1);//设置一级标题行为1行params.setHeadRows(1);//设置header标题为1行ListUser users;try (InputStream inputStream excelFile.getInputStream()) {users ExcelImportUtil.importExcel(inputStream, User.class, params);}log.info(导入总数为 [{}], users.size());userService.saveAll(users);return redirect:/user/findAll;}//导出excelRequestMapping(/export)public void exportExcel(HttpServletResponse response, HttpServletRequest request) throws IOException {ListUser users userService.findAll();users.forEach(user - {try {Excel excelAnn user.getClass().getDeclaredField(photo).getAnnotation(Excel.class);user.setPhoto(excelAnn.savePath()/user.getPhoto());} catch (NoSuchFieldException e) {e.printStackTrace();}});Workbook workbook ExcelExportUtil.exportExcel(new ExportParams(用户列表, 用户信息), User.class, users);response.setHeader(content-disposition,attachment;fileName URLEncoder.encode(用户信息表.xls,UTF-8));ServletOutputStream os response.getOutputStream();workbook.write(os);os.close();workbook.close();}}
测试
Excel导入
导入之前 导入中 导入之后 Excel导出 Excel查看 项目结构 结语
EasyPOI提供了一套非常简单而强大的解决方案用于处理Java中Excel的导入导出。它的易用性让开发人员可以更加关注业务逻辑而不是被繁琐的数据处理细节所困扰。无论你是需要处理简单的数据列表还是复杂的业务报表EasyPOI都可以帮助你高效完成任务。 希望这篇博文能够帮助你开始使用EasyPOI来提升你的工作效率。当然实际应用中你还需要根据自己的具体场景去深入学习和掌握更多细节和技巧。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87409.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!