java实现excel导入导出,JavaExcel导出

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: