数据库查询的数据导出到xls表,集合数据导出到xls表
//实体类
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表的更多相关文章
- 利用Merge Into 更新表,集合数据到数据库中
使用Merge INTO 将表数据更新到数据库中 创建User-Defined Table Types 创建要更新的UserDetails表 创建更新存储过程 程序调用存储过程 查看结果
- kettle 表输入+流查询 与 数据库查询
他们的主要区别: •流查询步骤只能进行等值查询,数据库查询步骤可以进行非等值查询 •流查询在查询之前把数据都加载到内存里,数据库查询可以选择是否把数据加载到内存. •进行等值查询时,数据库查询步骤如果 ...
- JVM-class文件完全解析-属性表集合
属性表集合 在前面魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引,接口索引集合,字段表集合,方法表集合,那么接下来就是属性表集合了. 在class文件,字段表,方法表都可 ...
- iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)
一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...
- Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ578473688/article/details/54561397 思路1:采用备份表 备份表中 ...
- MySQL数据库表的数据插入、修改、删除、查询操作及实例应用
一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...
- C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示
序言 众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数 ...
- 【EXP】导出数据库dmp文件,只有几张表有数据,剩下的所有表只有表结构没有数据
导出一个dmp,指定的表中有数据,其他的表只有表结构, 有数据的表只有几张,分别是A,B,C三张表,剩下的表都没有数据 思路: 导出一个111.dmp,所有的表都只是表结构 将111.dmp导入到新创 ...
- T-SQL - query01_创建数据库|创建表|添加数据|简单查询
时间:2017-09-29 整理:byzqy 本篇以"梁山好汉花名册"为例,记录MS SQLServer T-SQL语句的使用,包含命令: 创建数据库 | 删除数据库 创建表 | ...
随机推荐
- Android_Printservice_API_部分翻译
文件夹 * package android.printservice * public abstract class PrintService * public abstract class Prin ...
- gitbook安装与使用,并使用docker部署
本文简单介绍如何安装并使用gitbook,最后如何使用docker构建书籍镜像. 1. 前置条件 需要Nodejs环境,安装npm,国内用户再安装cnpm npm install -g cnpm -- ...
- 【MAC】Mac下部分常用的小工具
Homebrew: 官方介绍:The missing package manager for OS X(OS X 不可或缺的套件管理器) /usr/bin/ruby -e "$(curl - ...
- 一步步教你轻松学支持向量机SVM算法之理论篇1
一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...
- java 根据身份证号码获取出生日期、性别、年龄
1.情景展示 如何根据身份证号,计算出出生日期.性别.年龄? 2.解决方案 从网上找的别人的,因为并没有实际用到,所以并未对其优化! /** * 通过身份证号码获取出生日期.性别.年龄 * @pa ...
- 干货!最全羽毛球技术动态分解gif图
羽毛球的技术千变万化,但是离不开最基本的击球方法.下面通过一组形象的动态图,给你展现羽毛球的基本动作.大家,务必要收藏起来,慢慢体会哦! 一.发球 二.前场技术 1.网前球 2.搓球 3.勾球 4.推 ...
- mysql 按照月份自动创建表,以年和月为表明,动态生成。
需求:mysql5.5 数据库,想要根据月份自动创建表,每个月创建一张表,需要数据库自动创建,并根据当前年和月动态生成表名称. 解决办法:1 连接数据库工具为Navicat 2 首先创建存储过程, ...
- 修改Dreamweaver CC 2017 代码背景颜色
Windows系统路径: E:\Program Files\Adobe\Dreamweaver CC\www\extensions\default\LightTheme\main.less (如果用的 ...
- Session 在分布式系统中实现方式
##server独立Session 例如以下图所看到的: server独立Session要求用户的每次请求都必须在同一台应用server上面操作,这就要求负载均衡server每次都能把用户的请求发送到 ...
- 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
1. 问题 由于在http请求头的头部中设置了一些自定义字段,刚好这些字段中含有下划线,比如bundle_name这种,后端在进去获取头部信息时,发现取不到对应的值 2. 原因及解决办法 分析 首先看 ...