java实现excel导入导出,JavaExcel导出
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
实现方法如下:
(视频教程推荐:java课程)
1、首先新建一个跳羚项目
2、导入依赖POM。可扩展置标语言
?可扩展标记语言版本=1.0 编码=UTF八号?
项目xmlns= http://maven。阿帕奇。org/POM/4。0 .0 xmlns:xsi= http://www。w3。 org/2001/XML架构-实例
xsi:架构位置= http://maven。阿帕奇。org/POM/4。0 .0 https://maven.apache.org/xsd/maven-4.0.0.xsd
型号版本4 .0 .0/型号版本
父母
groupIdorg.springframework.boot/groupId
artifact id spring-boot-starter-parent/artifact id
version2.2.6.RELEASE/version
relativePath/!-从存储库中查找父级-
/父母
groupIdcom.briup/groupId
artifactIddemo3/artifactId
版本0 .0 .1-快照/版本
包装警告/包装
namedemo3/name
描述Spring Boot的演示项目/描述
性能
Java。1.8版/java.version
/属性
属国
属国
groupIdorg.springframework.boot/groupId
artifact id spring-boot-starter-web/artifact id
/依赖关系
属国
groupIdorg.springframework.boot/groupId
artifactId spring-boot-starter-Tomcat/artifactId
范围提供/范围
/依赖关系
属国
groupIdorg.springframework.boot/groupId
artifactId spring-boot-starter-test/artifactId
范围测试/范围
不包括的项目:如接受服务项目是由投保以前已患有的疾病或伤害引致的
排除
groupIdorg.junit.vintage/groupId
artifactId JUnit-vintage-engine/artifactId
/排除
/排除
/依赖关系
属国
groupIdorg.apache.poi/groupId
artifactIdpoi/artifactId
版本3.6/版本
不包括的项目:如接受服务项目是由投保以前已患有的疾病或伤害引致的
排除
groupIdjavax.servlet/groupId
artifact id servlet-API/artifact id
/排除
排除
groupIdlog4j/groupId
artifactIdlog4j/artifactId
/排除
/排除
/依赖关系
/依赖关系
建设
插件
插件
groupIdorg.springframework.boot/groupId
artifact id spring-boot-maven-plugin/artifact id
/插件
/插件
/构建
/project3,建各种类
新建实体类
记得添加获取/设置方法
公共类用户{
私有字符串用户名;
私人字符串电子邮件;
私有字符串创建时间
私有字符串最后登陆时间
私有字符串角色名
私有字符串使能;
公共用户(){
super();
}
}新建接口服务
导入Java。util。列表;
公共接口用户服务{
public ListUser find all user();
}新建实现服务接口的冲动
导入Java。util。列表;
公共类对象实现用户服务{
@覆盖
公共列表用户findAllUser() {
User User=new User();
返回空
}
}新建ExcelUtil工具类
导入Java。util。列表;
导入Java。util。地图;
导入org。阿帕奇。poi。hssf。用户模型。hssf细胞;
导入org。阿帕奇。poi。hssf。用户模型。hssfcellstyle
导入org。阿帕奇。poi。hssf。用户模型。HSS流程。
导入org。阿帕奇。poi。hssf。用户模型。hssf表;
导入org。阿帕奇。poi。hssf。用户模型。hssf工作簿;
公共类ExcelUtil {
公共静态hssf工作簿gethssf工作簿(字符串工作表名称,字符串工作表名称1,字符串工作表名称2,字符串[]标题,字符串[]内容,字符串[]应用程序){
//第一步,创建一个可怕的电子表格格式工作簿,对应一个超过文件
hssf工作簿WB=new hssf workbook();
//第二步,在练习本中添加一个床单,对应超过文件中的表
hssf工作表=WB。创建工作表(工作表名称);
hssf表表1=WB。创建工作表(工作表名称1);
hssf表第2页=WB。创建工作表(工作表名称2);
//第三步,在表中添加表头第0行,注意老版本夏威夷芋泥饼对超过的行数列数有限制
HSS row row=sheet。创建行(0);
HSS行第1行=表1。创建行(0);
HSS第2行=第2页。创建行(0);
//第四步,创建单元格样式,并设置值表头设置表头居中
HSSFCellStyle style=WB。createcellstyle();
风格。设置对齐方式(HSSFCellStyle .ALIGN _ CENTER);//创建一个居中格式
//声明单元格
HSSFCell单元格=空
//创建标题
for(int I=0;it标题。长度;i ){
//创建一个单元格
单元格=行。创建单元格(I);
//给单元格赋值
细胞。setcellvalue(title[I]);
//给单元格设置样式
cell.setCellStyle(样式);
}
//创建标题
for(int I=0;it标题。长度;i ){
//创建一个单元格
单元格=第1行。创建单元格(I);
//给单元格赋值
细胞。setcellvalue(title[I]);
//给单元格设置样式
cell.setCellStyle(样式);
}
//创建内容
如果(内容!=null content.length 0){
for(int I=0;icontent.lengthi ){
行=工作表。创建行(i1);
for(int j=0;jcontent.lengthj ){
//将内容按顺序赋给对应的列对象
row.createCell(j).setCellValue(content[j]);
}
}
}
如果(内容!=null content.length 0){
for(int I=0;icontent.lengthi ){
第1行=工作表1。创建行(i1);
for(int j=0;jcontent.lengthj ){
//将内容按顺序赋给对应的列对象
row1.createCell(j).setCellValue(content[j]);
}
}
}
如果(app!=null app.length 0){
for(int I=0;iapp.lengthi ){
第2行=第2页。创建行(i1);
for(int j=0;贾普。长度;j ){
//将内容按顺序赋给对应的列对象
row2.createCell(j).setCellValue(app[j]);
}
}
}
返回WB;
}
}新建控制器类
导入Java。io。输出流;
导入Java。文字。简单的日期格式;
导入Java。util。ArrayList
导入Java。util。列表;
导入javax。servlet。http。http servlet响应;
导入org。阿帕奇。poi。hssf。用户模型。hssf工作簿;
导入org。spring框架。util。字符串实用程序;
导入org。spring框架。网络。绑定。注释。请求正文;
导入org。spring框架。网络。绑定。注释。请求映射;
导入org。spring框架。网络。绑定。注释。响应正文;
导入org。spring框架。网络。绑定。注释。休息控制器;
@RestController
@RequestMapping(/MyTest )
公共类HelloController {
@ResponseBody
@RequestMapping(/hello )
公共空的导出(@RequestBody(必填=false)用户用户,字符串用户名,HttpServletResponse响应)引发异常{
if (user==null!StringUtils.isEmpty(用户名)){
//获取请求的参数
User=new User();
user.setUsername(用户名);
}
UserService UserService=new UserServiceImpl();
//获取数据
ListUser list=userservice。find all user();
//excel标题
String[] title={ 姓名, 邮箱, 创建时间, 最近登录时间,角色,是否可用};
//excel文件名
字符串文件名=系统。当前时间毫秒() .xls ;
//工作表名
字符串sheetName=用户信息;
String sheetName1= hello
String sheetName2= xixi
//没有数据就传入空吧,Excel工具类有对空判断
String[] content={ 阿里, aaa , ddd , aaa , aaa , AAAA };
String[] app={bbbb , bbbb , bbbb , bbbb ,};
如果(列表!=null list.size() 0){
简单日期格式SDF=新建简单日期格式( yyyy-MM-DD );
for(int I=0;我列出。size();i ) {
用户对象=列表。get(I);
内容[1]=对象。获取用户名();
内容[1]=对象。getemail();
内容[2]=对象。get创建时间()==null?SDF。格式(对象。get创建时间());
内容[3]=对象getlastlogintime()==null?SDF。格式(对象。getlastlogintime());
内容[4]=对象getrolename();
}
}
如果(列表!=null list.size() 0){
简单日期格式SDF=新建简单日期格式( yyyy-MM-DD );
for(int I=0;我列出。size();i ) {
用户对象=列表。get(I);
app[1]=obj。获取用户名();
app[1]=obj。getemail();
app[2]=obj。get创建时间()==null?SDF。格式(对象。get创建时间());
app[3]=obj。getlastlogintime()==null?SDF。格式(对象。getlastlogintime());
app[4]=obj。getrolename();
}
}
//创建可怕的电子表格格式工作簿
hssf工作簿WB=excelutil。gethssf工作簿(工作表名称,工作表名称1,工作表名称2,标题,内容,应用程序);
//hssf工作簿wb1=excel util。gethssf工作簿(工作表名称1,标题,内容);
//响应到客户端
尝试{
文件名=新字符串(fileName.getBytes(), UTF-8 );
回应。设置内容类型(应用程序/vnd。ms-excel;charset=utf-8 );
回应。设置标题(内容-处置,附件;fileName= fileName);
输出流OS=响应。获取输出流();
WB。写(OS);
OS。flush();
OS。close();
} catch(异常e) {
e。printstacktrace();
}
}
}设置应用程序。属性
server.port=8081
最重要的一定要注意:应用类一定要在最外侧的包中!
4、最后访问
本地主机:8081/MyTest/hello
结果:
没有写前端,可以写一个html,设置一个a标签,点击事件。
相关推荐:java入门以上就是爪哇岛实现导出超过文件的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。