以excel方式输出数据
主类Test:
public class D201 {//get set 方法略去
private String d201_01;
private String d201_02;
private String d201_03;
private String d201_04;
private String d201_05;
@Override
public String toString()
{
System.out.println(super.toString());
return "abc";
}
}
调用D201类:
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; public class Test { private Connection connection = null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
public static void main(String[] args) {
D201 d201 = new D201();
Test test = new Test();
test.createExcel(test.getD201()); //调用输出数据方法 System.out.println("********以下是验证tostring方法输出********");
System.out.println(d201.toString()); System.out.println(d201.getClass().getName());
System.out.println("@");
System.out.println(d201.hashCode());
System.out.println(Integer.toHexString(d201.hashCode())); } //创建excel表格
private void createExcel(List<D201> list) { try {
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("D201");
Row row = null; row = sheet.createRow(0);
row.createCell(1, 1);
for(int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
D201 d201 = list.get(i);
row.createCell(0).setCellValue(d201.getD201_01());
row.createCell(1).setCellValue(d201.getD201_02());
row.createCell(2).setCellValue(d201.getD201_03());
row.createCell(3).setCellValue(d201.getD201_04());
row.createCell(4).setCellValue(d201.getD201_05());
}
FileOutputStream fos = new FileOutputStream("D201.xls");
wb.write(fos);
fos.close();
}catch(Exception e) {
e.printStackTrace();
}
} private Connection getConnection()
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); //数据库驱动‘包名+类名
connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.111:1521:orcl", "csyxzm", "csyxzm");//getConnection(String url, String user, String password) } catch(Exception e) {
e.printStackTrace();
}
return connection;
} public List<D201> getD201()
{
List<D201> list = null;
try {
this.getConnection();
String sql = "select t.D201_01, t.D201_02, t.D201_03, t.D201_04, t.D201_05 from D201 t";
preparedStatement = this.connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
list = new ArrayList<D201>();
D201 d201 = null;
while(resultSet.next())
{
d201 = new D201();
String d201_01 = resultSet.getString("D201_01");
String d201_02 = resultSet.getString("D201_02");
String d201_03 = resultSet.getString("D201_03");
String d201_04 = resultSet.getString("D201_04");
String d201_05 = resultSet.getString("D201_05"); d201.setD201_01(d201_01);
d201.setD201_02(d201_02);
d201.setD201_03(d201_03);
d201.setD201_04(d201_04);
d201.setD201_05(d201_05);
list.add(d201);
}
}catch(Exception e) {
e.printStackTrace();
} finally {
this.close(connection, preparedStatement, resultSet);
}
return list;
} private void close(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet)
{
try {
if(connection != null)
{
connection.close();
connection = null;
}
if(preparedStatement != null)
{
preparedStatement.close();
preparedStatement = null;
} if(resultSet != null) {
resultSet.close();
resultSet = null;
}
} catch(Exception e) {
e.printStackTrace();
}
} }
以excel方式输出数据的更多相关文章
- MATLAB 显示输出数据的三种方式
MATLAB 显示输出数据的三种方式 ,转载 https://blog.csdn.net/qq_35318838/article/details/78780412 1.改变数据格式 当数据重复再命令行 ...
- 利用Kettle 从Excel中抽取数据写入SQLite
SQLite作为一种数据库可以配置为Kettle的数据输入和输出,这个例子是从Excel中抽取数据然后写入到SQLite中 配置测试并成功后如下 下面是配置步骤: Excel输入配置 sqlite配置 ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- 财务数据分析工具的选择:Excel还是大数据BI?
财务数据分析一般都采用什么工具?跟财务数据分析的哪些指标有关?要怎样展现财务数据间的紧密关联? 财务报表分析比较复杂,一般来说主要包括以下项目: 1. 趋势:在多个时间段内为财务报表中的关键项目创建 ...
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- 使用fwrite()函数和fprintf()函数输出数据到文件时的区别
使用书上的一个课后题为例 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学号,姓名,3们课程成绩),计算出每个学生的平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中. ...
- C#导入导出Excel表的数据
一:C#导入导出EXCEL文件的类 代码如下: 首先将Microsoft Excel 14.0 Object Library 引用导入 using System; using System.Data; ...
- 你好,C++(5)如何输出数据到屏幕、从屏幕输入数据与读写文件?
2.2 基本输入/输出流 听过HelloWorld.exe的自我介绍之后,大家已经知道了一个C++程序的任务就是描述数据和处理数据.这两大任务的对象都是数据,可现在的问题是,数据不可能无中生有地产生 ...
- PHP读取EXCEL时写入数据乱码解决办法
第一步排除excel读取的数据是不是乱码 EXCEL读取时经常会出现乱码,而我们常用的字符集是UTF-8 ,GB2312(GBK) ,这就需要对编码进行转换,但是又不能对纯数字和英文字符转换,否则会乱 ...
随机推荐
- Oracle 四种列转行的方法
1. Oracle自带列转行函数listagg: 实例: with temp as( select 'China' nation ,'Guangzhou' city from dual union a ...
- BOS物流管理系统-第八天
BOS物流管理系统-第八天-权限系统设计-Shiro 回顾: 两大块业务:基础设置模块,业务派单模块. 两天:权限控制. 拦截器大的范围的.纯登录级别(认证级别)大颗粒的权限控制的一种技术. Shir ...
- git切换分支
今天同事问我她的报错了,我看了一下,是分支没有指向远程仓库对应的分支;报错如下; $ git pull There is no tracking information for the current ...
- 实现koa中的generator用法
尽管koa2中已经被async/await代替.但我还是想自个儿着写一个koa1中的generator. 一, 写这个之前,先写一个可以现实,express中next用法的函数: var event= ...
- 第七十七节,CSS3前缀和rem长度单位
CSS3前缀和rem长度单位 学习要点: 1.CSS3前缀 2.长度单位rem 本章主要探讨HTML5中CSS在发展中实行标准化的一些问题,重点探讨CSS3中新属性前缀问题和新的单位rem. 一 CS ...
- KVC、KVO
概述 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC).键值监听( ...
- js技巧之this,call,apply
具体到实际应用中,this的指向又可以分为以下四种: 作为对象的方法调用 作为普通函数调用 构造器调用 apply和call调用 接下来我们去剖析前3点,至于第4点的apply和call调用,会在ca ...
- 在 iOS 应用中直接跳转到 AppStore 的方法
找到应用程序的描述链接,在itunes中找到相应的应用,(如下图),点击免费右边的下方向键,选择复制链接,就拿到了对应的app的描述链接 比如:https://itunes.apple.com/c ...
- Announcement
本来是习惯把每天的内容写在一个txt里. 似乎不符合要求.无论格式还是内容.于是转战blog. 事实上.有专业课学习加上马上考四级以及下学期可能的专业调整.此学期时间紧张. 能完成日常作业并掌握周课内 ...
- Round Numbers(组合数学)
Round Numbers Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Tota ...