将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();
}

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

2.关于Excel的各种操作,详情请转到http://www.yiibai.com/apache_poi/apache_poi_java_excel.html

将Oracle数据库中的数据写入Excel的更多相关文章

  1. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  2. 向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

    向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例Use ...

  3. Oracle数据库中的数据出错的解决办法

    http://www.jcwcn.com/article/database/oracle/ 今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了 ...

  4. ArcCatalog中通过ArcSDE向Oracle数据库中导入数据

    将数据导入到Oracle指定的表空间的具体内容如下: 首先,在ArcCatalog中建立指定表空间的数据库连接(要以指定表空间的用户登录): 然后,在ArcCatlog中定位到数据源,选中并拷贝图层; ...

  5. Kettle实现从数据库中提取数据到Excel

    因为有个日常提数,工作日每天都要从数据库中提取数据,转换为excel,再以邮件的形式发给用户. 刚好近期同事在研究使用kettle自动提数且完成邮件的发送,觉得很实用又挺有意思的就学了一下这个技能~ ...

  6. 详解大数据采集引擎之Sqoop&采集oracle数据库中的数据

    一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop i ...

  7. NPOI从数据库中导出数据到Excel

    首先要添加NPOI.dll程序集 https://yunpan.cn/cMeSTELJSXmJJ  访问密码 8d83 把里面的程序集都添加到引用里 下面的代码是从数据库导出到Excel { //pa ...

  8. 解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

    我们使用Spring中的JdbcDaoSupport往Mysql中插入数据并返回主键代码,我们使用的mysql数据库,主键在数据库中设置为自增长:该类继承自JdbcDaoSupport,所以能直接使用 ...

  9. python操作MySQL数据库并将数据写入excel

    #!/usr/bin/python# -*- coding:utf-8 -*-'''方法:通过pymsql模块连接mysql数据库,然后通过游标cursor查询SQL语句将结果存储在Excel文件中, ...

随机推荐

  1. Netty5使用自签证书实现SSL安全连接

    这次使用的Netty是最新的5.0 Alpha2版本,下载地址是:http://dl.bintray.com/netty/downloads/netty-5.0.0.Alpha2.tar.bz2,发布 ...

  2. ASP.NET MVC Model绑定(三)

    ASP.NET MVC Model绑定(三) 前言 看过前两篇的朋友想必对Model绑定有个大概的了解,然而MVC框架给我们提供了更高的可扩展性的提供程序编程模式,也就是本篇的主题了,会讲解一下Mod ...

  3. ABP框架 - 工作单元

    文档目录 本节内容: 简介 在ABP中管理连接和事务 约定的工作单元 UnitOfWork 特性 IUnitOfWorkManager 工作单元详情 禁用工作单元 非事务性工作单元 工作单元方法调用另 ...

  4. MySQL基础之索引

    这段时间看了好多东西却没有总结,今天在这里写一写 关于索引 索引是一种提高查询效率的方法,它是B+树的结构,从根到中间节点在到叶子节点,无需遍历全部就可以查到所需的东西 关于索引的创建 一般有俩种方式 ...

  5. 在thinkPHP3.2.3框架下实现手机和PC端浏览器的切换

    查看thinkphp版本号方法 打开文件“根目录\ThinkPHP\ThinkPHP.php”下的文件ThinkPHP.php,在22--23行可以看到版本信息THINK_VERSION,如下图: 说 ...

  6. JavaScript高级编程 (1) - javscript是什么

    <重温javascript>这是一系列 javascript 的学习笔记,部分内容摘自书本或者网络,我这里只是基于自己的理解进行了梳理整理. 一个完整的 javscript 实现是由以下3 ...

  7. 简单编写Makefile

    相信很多朋友都有过这样的经历,看着开源项目中好几页的makefile文件,不知所云.在日常学习和工作中,也有意无意的去回避makefile,能改就不写,能用ide就用ide.其实makefile并没有 ...

  8. JavaScript 中对变量和函数声明的“提前”

    变量声明“被提前” JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对“先声明.后使用”的规则很熟悉,如果使用未经声明的变量或 ...

  9. ASP.NET Core管道深度剖析(1):采用管道处理HTTP请求

    之所以称ASP.NET Core是一个Web开发平台,源于它具有一个极具扩展性的请求处理管道,我们可以通过这个管道的定制来满足各种场景下的HTTP处理需求.ASP. NET Core应用的很多特性,比 ...

  10. 从零开始编写自己的C#框架(14)——T4模板在逻辑层中的应用(三)

    原本关于T4模板原想分5个章节详细解说的,不过因为最近比较忙,也不想将整个系列时间拉得太长,所以就将它们整合在一块了,可能会有很多细节没有讲到,希望大家自己对着代码与模板去研究. 本章代码量会比较大, ...