//实体类
package com.outxls; public class Student { private Integer studentId;
private String studentName;
private String studentClass;
private String studentTel;
private String studentEmail;
public Integer getStudentId() {
return studentId;
}
public void setStudentId(Integer studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentClass() {
return studentClass;
}
public void setStudentClass(String studentClass) {
this.studentClass = studentClass;
}
public String getStudentTel() {
return studentTel;
}
public void setStudentTel(String studentTel) {
this.studentTel = studentTel;
}
public String getStudentEmail() {
return studentEmail;
}
public void setStudentEmail(String studentEmail) {
this.studentEmail = studentEmail;
}
public Student(Integer studentId, String studentName, String studentClass, String studentTel, String studentEmail) {
super();
this.studentId = studentId;
this.studentName = studentName;
this.studentClass = studentClass;
this.studentTel = studentTel;
this.studentEmail = studentEmail;
}
public Student() {
super(); }
@Override
public String toString() {
return "Student [studentId=" + studentId + ", studentName=" + studentName + ", studentClass=" + studentClass
+ ", studentTel=" + studentTel + ", studentEmail=" + studentEmail + "]";
} }
package com.outxls;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List; import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException; public class OutXlsUtil { public static void main(String[] args) {
//省去数据库查询代码 ,所有我自己直接写了一个集合代替查询到的数据
List<Student> stulist=new ArrayList<Student>();
Student stu=null;
for(int i=0;i<10;i++) {
stu=new Student();
stu.setStudentId(i+1);
stu.setStudentName("小明"+(i+1));
stu.setStudentClass("一班");
stu.setStudentTel("1337098123"+i);
stu.setStudentEmail("7632832"+i+"@qq.com");
stulist.add(stu);
} try {
outFilesUtil(stulist);
} catch (RowsExceededException e) { e.printStackTrace();
} catch (WriteException e) { e.printStackTrace();
} catch (IOException e) { e.printStackTrace();
}
} /**
*
* @param stulist 传一个集合
* @throws IOException
* @throws RowsExceededException
* @throws WriteException
*/
public static void outFilesUtil(List<Student> stulist) throws IOException, RowsExceededException, WriteException {
//用一个string 数组来设置xls表头
String[] title = { "序号", "姓名", "班级", "手机号码", "邮箱" };
// 创建一个输出的xls文件路径
String outPath = "C:\\Student.xls";
// 创建Excel 工作
WritableWorkbook wwb;
OutputStream os = null;
//输出流
os = new FileOutputStream(outPath);
wwb = Workbook.createWorkbook(os);
// 添加第一个工作表并设置第一个Sheet的名字
WritableSheet sheet = wwb.createSheet("学生信息", 0);
Label label;
for (int i = 0; i < title.length; i++) {
//设置表头
label = new Label(i, 0, title[i]);
sheet.addCell(label);
} // 这里是将查询的数据填写到xls表
for (int j = 0; j < stulist.size(); j++) {
//1 列
label = new Label(0, j + 1, stulist.get(j).getStudentId().toString());
sheet.addCell(label);
//2 列
label = new Label(1, j + 1, stulist.get(j).getStudentName());
sheet.addCell(label);
//3 列
label = new Label(2, j + 1, stulist.get(j).getStudentClass());
sheet.addCell(label);
//4 列
label = new Label(3, j + 1, stulist.get(j).getStudentTel());
sheet.addCell(label);
//5 列
label = new Label(4, j + 1, stulist.get(j).getStudentEmail());
sheet.addCell(label);
}
// 写入数据
wwb.write();
//刷新
os.flush();
// 关闭文件
wwb.close(); } }

 需要jxt.jar

数据库查询的数据导出到xls表,集合数据导出到xls表的更多相关文章

  1. 利用Merge Into 更新表,集合数据到数据库中

    使用Merge INTO 将表数据更新到数据库中 创建User-Defined Table Types   创建要更新的UserDetails表 创建更新存储过程 程序调用存储过程 查看结果

  2. kettle 表输入+流查询 与 数据库查询

    他们的主要区别: •流查询步骤只能进行等值查询,数据库查询步骤可以进行非等值查询 •流查询在查询之前把数据都加载到内存里,数据库查询可以选择是否把数据加载到内存. •进行等值查询时,数据库查询步骤如果 ...

  3. JVM-class文件完全解析-属性表集合

    属性表集合 在前面魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引,接口索引集合,字段表集合,方法表集合,那么接下来就是属性表集合了.   在class文件,字段表,方法表都可 ...

  4. iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)

    一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...

  5. Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ578473688/article/details/54561397 思路1:采用备份表 备份表中 ...

  6. MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

    一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...

  7. C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示

    序言 众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数 ...

  8. 【EXP】导出数据库dmp文件,只有几张表有数据,剩下的所有表只有表结构没有数据

    导出一个dmp,指定的表中有数据,其他的表只有表结构, 有数据的表只有几张,分别是A,B,C三张表,剩下的表都没有数据 思路: 导出一个111.dmp,所有的表都只是表结构 将111.dmp导入到新创 ...

  9. T-SQL - query01_创建数据库|创建表|添加数据|简单查询

    时间:2017-09-29  整理:byzqy 本篇以"梁山好汉花名册"为例,记录MS SQLServer T-SQL语句的使用,包含命令: 创建数据库 | 删除数据库 创建表 | ...

随机推荐

  1. 发现一个“佛系记账本”

    因为这是一款微信小程序,张小龙大力推崇的"用完即走"完美地适合记账应用. 不用下载.不用安装.不用注册.不用各种授权,只要从微信进入,就能记账,账本只与微信关联. 换手机.换PAD ...

  2. jvm系列

    一.jvm理论 1.1.jvm理论-总述 1.2.jvm理论-class文件 1.2.1.jvm理论-常量池-string 1.2.2.jvm理论-常量池-8种基本类型 1.3.jvm理论-字节码指令 ...

  3. 多线程处理N维度topk问题demo--[c++]

    问题 -对多维度特征进行topk排序,使用c++ 优先队列模拟最大堆. /* ---------------------------------- Version : ?? File Name : d ...

  4. PHP访问SQL Server驱动对应关系

    引用地址: https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?vi ...

  5. BizTalk RosettaNet解决方案之Loopback

    本教程使用 BizTalk Accelerator for RosettaNet (BTARN) 在一台计算机上模拟本组织与合作伙伴组织之间的流程实施情况. 创建本组织 “BizTalk <版本 ...

  6. nmon监控

    原文:https://www.cnblogs.com/wnfindbug/p/5719181.html 一.检查安装环境 # uname –a (查看操作系统信息,所检查服务器为64位操作系统) Li ...

  7. C++ char 类型:字符型和最小的整型

    C++ 中没有 byte,Java 中有 byte. 但是 C++ 有 char,char 是可用来放整数的最小字节类型. #include <iostream> int main() { ...

  8. hdoj:2049

    #include <iostream> using namespace std; ]; /* n 个 数中 m个错排 转化为:充n个数中选取m个数,共有C(n,m)中,选取的m个数进行全部 ...

  9. ocelot配置

    动态配置 { "ReRoutes": [], "Aggregates": [], "GlobalConfiguration": { &quo ...

  10. 常见机试题分析Java版

    1. 操作系统任务分为系统任务和用户任务两种.其中,系统任务的优先级<50,用户任务的优先级>=50且<=255.优先级大于255的为非法任务,应予以剔除.现有一任务队列task[] ...