首先

在生成Excel前,我们需要理解一下Excel文件的组织形式。在POI中,是这样理解的:一个Excel文件对应一个workbook,一个workerbook是有若干个sheet组成的。一个sheet有多个row,一个row一般存在多个cell。

1、建立所需要的导出的数据库

2、通过插件生成对应的实体类以及CRUD的方法

/*** TbHkhb:航空航班表* @author zyw* @since 2022-03-18 10:31:24*/
@Data
@ApiModel(value="航空航班表,对应表tb_hkhb",description="适用于新增和修改页面传参")
public class TbHkhb  extends ProBaseEntity<TbHkhb>  {private static final long serialVersionUID = 1L;/*** 主键ID*/@ApiModelProperty(value="id")private String id;/*** 航班时间*/@ApiModelProperty(value="航班时间")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private java.util.Date hbsj;/*** 出发地点*/@ApiModelProperty(value="出发地点")private String cfdd;/*** 终点站*/@ApiModelProperty(value="终点站")private String zdz;/*** 航班号*/@ApiModelProperty(value="航班号")private String hbh;/*** 航空公司*/@ApiModelProperty(value="航空公司")private String hkgs;/*** 乘客数量*/@ApiModelProperty(value="乘客数量")private String cksl;/*** 座位数量*/@ApiModelProperty(value="座位数量")private String zwsl;}

3、导入POI依赖

        <!--使用POI读取文件--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version></dependency>

4、编写创建Excle文件的业务逻辑

    /*** @方法名称: createExcle* @实现功能: 导出值班值守表Excel文件 TODO: 方法入参根据页面对象设置* @return  java.lang.String* @create by zyw at 2022-03-21 15:20:31**/public String createExcle(){//第一步创建workbookHSSFWorkbook wb = new HSSFWorkbook();//第二步创建sheetHSSFSheet sheet = wb.createSheet("身份证错误信息");//第三步创建行row:添加表头0行//4个参数依次为:开始行,结束行,开始列,结束列sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 6));HSSFRow row = sheet.createRow(0);HSSFCell cell1 = row.createCell(0);cell1.setCellValue("航空数据采集表");HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  //居中HSSFRow row1 = sheet.createRow(1);//第四步创建单元格HSSFCell cell = row1.createCell(0);         //第一个单元格cell.setCellValue("航班时间");                  //设定值cell.setCellStyle(style);                   //内容居中cell = row1.createCell(1);                   //第二个单元格cell.setCellValue("出发站点");cell.setCellStyle(style);cell = row1.createCell(2);                   //第三个单元格cell.setCellValue("终点站");cell.setCellStyle(style);cell = row1.createCell(3);                   //第四个单元格cell.setCellValue("航班号");cell.setCellStyle(style);cell = row1.createCell(4);                   //第五个单元格cell.setCellValue("航空公司");cell.setCellStyle(style);cell = row1.createCell(5);                   //第六个单元格cell.setCellValue("乘客数量");cell.setCellStyle(style);cell = row1.createCell(6);                   //第七个单元格cell.setCellValue("座位数");cell.setCellStyle(style);//第五步插入数据TbHkhb tbHkhb = new TbHkhb();List<TbHkhb> list = tbHkhbDao.findList(tbHkhb);for (int i = 0; i < list.size(); i++) {//创建行row = sheet.createRow(i+2);//创建单元格并且添加数据row.createCell(0).setCellValue(simpleDateFormat.format(list.get(i).getHbsj()));row.createCell(1).setCellValue(list.get(i).getCfdd());row.createCell(2).setCellValue(list.get(i).getZdz());row.createCell(3).setCellValue(list.get(i).getHbh());row.createCell(4).setCellValue(list.get(i).getHkgs());row.createCell(5).setCellValue(list.get(i).getCksl());row.createCell(6).setCellValue(list.get(i).getZwsl());}//第六步将生成excel文件保存到指定路径下try {File file = new File("C:/Users/asus/Desktop/航空数据采集表.xls");if (!file.exists()){FileOutputStream fout = new FileOutputStream("C:/Users/asus/Desktop/航空数据采集表.xls");wb.write(fout);fout.close();}else {FileOutputStream fout = new FileOutputStream("C:/Users/asus/Desktop/航空数据采集表(1).xls");wb.write(fout);fout.close();}} catch (IOException e) {e.printStackTrace();}finally {return  "Excel文件生成成功...";}}
    /*** @方法名称: createExcle* @实现功能: 导出航空航班表Excel文件 TODO: 方法入参根据页面对象设置* @return  java.lang.String* @create by zyw at 2022-03-21 16:10:31**/@ApiOperation(value="导出航空航班表Excel文件",notes="返回Excel模板下载地址",response = String.class)@PostMapping(value = "/createExcle")public String createExcle(){try {return buildResultStr(buildSuccessResultData(service.createExcle()));}catch (RuntimeException e){logError(log, e);return buildResultStr(buildErrorResultData(e));}}

5、通过Swagger测试运行效果

数据库 :

Excle文件:

Java 实现数据库导出Excle相关推荐

  1. Java 实现数据库导出Word

    1.导入依赖 <!--使用POI读取文件--><dependency><groupId>org.apache.poi</groupId><arti ...

  2. java从数据库导出语音文件_从数据库导出数据

    此脚本将指定表中的行导出到任何表结构的INSERT语句 . 所以,你只需要复制结果并在SSMS的sql文件中运行它 - DECLARE @TableName SYSNAME , @ObjectID I ...

  3. 导出Excle java

    今天小编又为大家带来了好用的工具类啦 那就是导出Excle public class Excel { public  final static <T> String exportExcel ...

  4. java excel 饼图,java 导入导出excle 和 生成柱状图饼状图的demo/excle数据如何转成饼状图...

    在EXCEL中,如何把表格中的数据转换成饼状图? 在Excel中,把中的数据转换状图的操作步骤如下: 想转换的数据源,插入饼状图,Excel会自动根据选择的数据源生成饼状图.接下来,可以自定义饼状图的 ...

  5. JAVA实现数据库数据导入/导出到Excel(POI)

    原文地址为: JAVA实现数据库数据导入/导出到Excel(POI) 准备工作: 1.导入POI包:POI下载地址http://mirrors.tuna.tsinghua.edu.cn/apache/ ...

  6. java实现mysql数据库导出

    import java.io.File; import java.io.IOException;/*** 生产数据导出**/ public class MySQLDatabaseBackup {/** ...

  7. PowerDesigner逆向工程,从数据库导出PDM(包括采坑记录)

    本文所使用工具: PowerDesigner 16, 数据源Oracle 11g 第一步如图,新建一个模型 第二步:选中当前模型 testdb.  然后在菜单栏database->update ...

  8. JAVA查询数据库并显示jsp_java servlet数据库查询并将数据显示到jsp页面

    需要的jar包:mysql-connector-java.jar build path只是个jar包的引用,部署的时候想不丢包最好还是手动拷贝到对应项目的lib文件下. 在try{}中定义的变量为局部 ...

  9. JAVA MySQL数据库 笔记

    MySQL数据库 1. 初始MySQL 1.1 为什么学习数据库 岗位技能需求 现在的世界,得数据者得天下 网站中数据存储的地方 数据库是几乎软件体系中最核心的一个存在. 1.2 什么是数据库 数据库 ...

  10. Java开源数据库分类列表整理

    HSQLDB HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据.支持ANSI-92 标准 SQL语法.而且他占的空间很小.大约只有160K,拥有快 ...

最新文章

  1. Flex命令行学习总结
  2. poj 1699 Best Sequence (搜索技巧 剪枝 dfs)
  3. 六、linux虚拟平台设备注册
  4. mysql插入图片数据
  5. C语言和指针的本质是什么?技术大神给出答案
  6. PHP WeBaCoo后门学习笔记
  7. WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。,ExceptionType:System.Security....
  8. Web报表页面如何传递中文参数
  9. ejb3.0 中数据库的配置
  10. 在Java中将前导零添加到数字? [重复]
  11. IOS xib 和storyboard的区别
  12. 二十一日——美国寻梦
  13. 解决IDEA运行后报找不到应用程序错误
  14. 测试用例的设计-面试常见问题(基础篇)
  15. AI仿生:人类进化新可能
  16. 计算机编程龟兔赛跑,实例编程:龟兔赛跑的小游戏
  17. 无为而无不为和企业管理
  18. 整型转换为32位二进制字符串
  19. MYSQL 基础篇 | 02-MYSQL基础应用
  20. xshell如何将Windows文件上传到linux

热门文章

  1. 多维数据运算(矩阵乘法)
  2. 如何更新google chrome浏览器
  3. 在线编辑Word——插入表格
  4. H桥原理、驱动及应用
  5. 夜雨数竞笔记-极限(4)-Stolz定理
  6. python能做什么工作知乎-python能做什么知乎
  7. bootbox 使用方式
  8. 火狐浏览器插件学习01
  9. “华为杯”山东理工大学第十届ACM程序设计竞赛 - 解题报告
  10. SVN代码回滚到执行版本