将Oracle数据库中的数据写入Excel

 更新时间:2016年12月23日 09:43:01   作者:一个弱者想变强  
本文主要分享了将Oracle数据库中的数据写入Excel的关键代码。具有很好的参考价值,需要的朋友一起来看下吧

1.准备工作

Oracle数据库“TBYZB_FIELD_PRESSURE”表中数据如图:

Excel模板(201512.xls):

2.任务说明

我们要完成的任务就是将表“TBYZB_FIELD_PRESSURE”中的数据,按照Excel模板(201512.xls)的样式导入到一个新的Excel中。即:Excel模板(201512.xls)不改变,生成一个和它一样的Excel并且导入数据。

3.关键代码

// 使用FieldPressEntity中的每一个entity,一个entity包含了所有属性
 public void insertintoExcel(String yyyy, String mm) throws Exception {
  List<FieldPressEntity> result = tyFieldPressDao.search(yyyy, mm);
  // 读取Excel的模板
  HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(
    "D:/201512.xls")));
  HSSFSheet sheet = null;
  // 读取sheet的模板
  sheet = workbook.getSheetAt(0);
  // 定义行
  HSSFRow row;
  // 定义单元格
  HSSFCell cell;
  // for循环,循环目标为行循环
  for (int i = 0; i < result.size(); i++) {
   System.out.println(result.size());
   // 给e循环赋值
   FieldPressEntity e = result.get(i);
   // 循环行
   row = sheet.getRow(3 + i);
   // 给行内的单元格赋值
   cell = row.getCell(1);
   cell.setCellValue(e.getH17());
   System.out.println(i + "i内+" + e.getH17());
   cell = row.getCell(2);
   cell.setCellValue(e.getH18());
   System.out.println(i + "i内+" + e.getH18());
   cell = row.getCell(3);
   cell.setCellValue(e.getH19());
   System.out.println(i + "i内+" + e.getH19());
   cell = row.getCell(4);
   cell.setCellValue(e.getH20());
   System.out.println(i + "i内+" + e.getH20());
   cell = row.getCell(5);
   cell.setCellValue(e.getH21());
   System.out.println(i + "i内+" + e.getH21());
   cell = row.getCell(6);
   cell.setCellValue(e.getH22());
   System.out.println(i + "i内+" + e.getH22());
   cell = row.getCell(7);
   cell.setCellValue(e.getH23());
   System.out.println(i + "i内+" + e.getH23());
   cell = row.getCell(8);
   cell.setCellValue(e.getH00());
   System.out.println(i + "i内+" + e.getH00());
   cell = row.getCell(9);
   cell.setCellValue(e.getH01());
   System.out.println(i + "i内+" + e.getH01());
   cell = row.getCell(10);
   cell.setCellValue(e.getH02());
   System.out.println(i + "i内+" + e.getH02());
   cell = row.getCell(11);
   cell.setCellValue(e.getH03());
   System.out.println(i + "i内+" + e.getH03());
   cell = row.getCell(12);
   cell.setCellValue(e.getH04());
   System.out.println(i + "i内+" + e.getH04());
   cell = row.getCell(13);
   cell.setCellValue(e.getH05());
   System.out.println(i + "i内+" + e.getH05());
   cell = row.getCell(14);
   cell.setCellValue(e.getH06());
   System.out.println(i + "i内+" + e.getH06());
   cell = row.getCell(15);
   cell.setCellValue(e.getH07());
   System.out.println(i + "i内+" + e.getH07());
   cell = row.getCell(16);
   cell.setCellValue(e.getH08());
   System.out.println(i + "i内+" + e.getH08());
   cell = row.getCell(17);
   cell.setCellValue(e.getH09());
   System.out.println(i + "i内+" + e.getH09());
   cell = row.getCell(18);
   cell.setCellValue(e.getH10());
   System.out.println(i + "i内+" + e.getH10());
   cell = row.getCell(19);
   cell.setCellValue(e.getH11());
   System.out.println(i + "i内+" + e.getH11());
   cell = row.getCell(20);
   cell.setCellValue(e.getH12());
   System.out.println(i + "i内+" + e.getH12());
   cell = row.getCell(21);
   cell.setCellValue(e.getH13());
   System.out.println(i + "i内+" + e.getH13());
   cell = row.getCell(22);
   cell.setCellValue(e.getH14());
   System.out.println(i + "i内+" + e.getH14());
   cell = row.getCell(23);
   cell.setCellValue(e.getH15());
   System.out.println(i + "i内+" + e.getH15());
   cell = row.getCell(24);
   cell.setCellValue(e.getH16());
   System.out.println(i + "i内+" + e.getH16());
   cell = row.getCell(25);
   cell.setCellValue(e.getDaily_sum());
   System.out.println(i + "i内+" + e.getDaily_sum());
   cell = row.getCell(26);
   cell.setCellValue(e.getDaily_avg());
   System.out.println(i + "i内+" + e.getDaily_avg());
   cell = row.getCell(27);
   cell.setCellValue(e.getDaily_max());
   System.out.println(i + "i内+" + e.getDaily_max());
   cell = row.getCell(28);
   cell.setCellValue(e.getDaily_min());
   System.out.println(i + "i内+" + e.getDaily_min());
  }
  // 写入一个新的Excel表内
  FileOutputStream out = new FileOutputStream(new File("E:/"+yyyy+mm+".xls"));
  // Excel表写入完成
  workbook.write(out);
  // Excel表退出
  out.close();
 }

总结:我们这个项目用的是ssh架构,如果想使用以上代码,需要按照ssh的规范,定义dao action service entity四个包,如果需要页面操作还需要js做页面。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • oracle表分区的概念及操作

    oracle表分区的概念及操作

    Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。这篇文章主要介绍了oracle表分区的概念及操作,需要的朋友可以参考下
    2021-04-04
  • Oracle复合索引与空值的索引使用问题小结

    Oracle复合索引与空值的索引使用问题小结

    最近小编在群里讨论sql优化的问题,今天小编给大家带来了Oracle复合索引与空值的索引使用问题小结,需要的朋友参考下吧
    2018-02-02
  • 安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法

    安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法

    这篇文章主要为大家详细介绍了安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 使用oracle修改表字段长度的步骤

    使用oracle修改表字段长度的步骤

    这篇文章主要介绍了如何使用oracle修改表字段长度,本文仅仅简单介绍了如何使用oracle修改表字段长度,而oracle提供了大量能使我们快速便捷地处理数据的函数和方法,需要的朋友可以参考下
    2023-07-07
  • Oracle数据表保留一条重复数据简单方法

    Oracle数据表保留一条重复数据简单方法

    最近开发的时候遇到一个任务,需要对重复的数据进行筛选,所以下面这篇文章主要给大家介绍了关于Oracle数据表保留一条重复数据的简单方法,需要的朋友可以参考下
    2023-11-11
  • ORACLE SQL语句优化技术要点解析

    ORACLE SQL语句优化技术要点解析

    这篇文章主要介绍了ORACLE SQL语句优化技术的相关内容,小编觉得挺不错的,在这里分享给大家,需要的朋友可以参考下。
    2017-10-10
  • 分享ORACLE SEQUENCE跳号总结

    分享ORACLE SEQUENCE跳号总结

    在ORACLE数据库中,序列(SEQUENCE)是使用非常频繁的一个数据库对象,但是有时候会遇到序列(SEQUECNE)跳号(skip sequence numbers)的情形,那么在哪些情形下会遇到跳号呢,下面通过本文给大家详解介绍,一起看看吧
    2017-09-09
  • oracle数据库关于索引建立及使用的详细介绍

    oracle数据库关于索引建立及使用的详细介绍

    这篇文章主要介绍了oracle数据库关于索引建立及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 巧妙解决Oracle NClob读写问题(经验分享)

    巧妙解决Oracle NClob读写问题(经验分享)

    下面小编就为大家带来一篇巧妙解决Oracle NClob读写问题(经验分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • oracle 数据库隔离级别学习

    oracle 数据库隔离级别学习

    这篇文章主要介绍了oracle数据库的隔离级别相关的知识,数据库操作的隔离级别,有需要的朋友可以参考下
    2014-05-05

最新评论