java 生成Excel开门篇
本随笔的Excel所用的poi jar包(3.17版本)链接: https://pan.baidu.com/s/1gaa3dJueja8IraUDYCSLIQ 提取密码: 9xr7
简单实现:两个类:UserPojo 和ExcelUtil
废话不多说,直接上代码:
UserPojo.java 类
package pojo;
public class UserPojo {
private int uid;
private String uname;
private String upass;
private String udate;
public UserPojo(int uid, String uname, String upass, String udate) {
super();
this.uid = uid;
this.uname = uname;
this.upass = upass;
this.udate = udate;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public String getUdate() {
return udate;
}
public void setUdate(String udate) {
this.udate = udate;
}
}
ExcelUtil.java 类
package util; import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.HorizontalAlignment; import pojo.UserPojo; public class ExcelUtil { /**
*
* @Title: getUserPojo
* @Description: 创建一组测试数据
* @param
* @param Exception 参数
* @date 2018-06-04
*
* @throws
* @return List<UserPojo> 返回类型
*
*/
public static List<UserPojo> getUserPojo() throws Exception{ List<UserPojo> list = new ArrayList<UserPojo>();
UserPojo up1 = new UserPojo(91, "小明", "xiaoming1", "2018、03、21");
UserPojo up2 = new UserPojo(100, "安妮", "anni", "2018-03-22");
UserPojo up3 = new UserPojo(93, "dinosaurs", "dinosaurs", "2018年03月02日");
list.add(up1);
list.add(up2);
list.add(up3);
return list;
} /**
*
* @Title: main
* @Description: 生成Excel并输出到指定位置
* @param args
* @param Exception 参数
* @return void 返回类型
* @date 2018-06-04
*
*/
public static void main(String[] args) throws Exception {
/*
* 第一步:------------------------
*/
//创建一个Webbook,对应着一个Excel文件
@SuppressWarnings("resource") //去掉警告(也可以定义一个static的全局静态)
HSSFWorkbook web = new HSSFWorkbook(); /*
* 第二步:------------------------
*/
//在webbook中添加一个sheet,对应Excel文件中的sheet (在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称)
HSSFSheet sheet = web.createSheet("2018年度5月人员表"); // 用于格式化单元格的数据
//HSSFDataFormat format = web.createDataFormat(); /*
* 第三步:------------------------
*/
//在sheet中添加表头:且添加到第0行
HSSFRow row = sheet.createRow(0); /*
* 第四步:创建单元格, 添加表头,且让表头居中
*/
HSSFCellStyle style = web.createCellStyle();
//style.setDataFormat(format.getFormat("@")); //居中格式
style.setAlignment(HorizontalAlignment.CENTER); HSSFCell cell = row.createCell((short) 0);//创建列 处于第0行的第0列
cell.setCellValue("人员编号"); //设置value值
sheet.setColumnWidth(0, 20*200);//设置列宽
cell.setCellStyle(style);//让其居中 cell = row.createCell((short) 1);
cell.setCellValue("人员姓名");
sheet.setColumnWidth(1, 20*200);//设置列宽
cell.setCellStyle(style); cell = row.createCell((short) 2);
cell.setCellValue("人员别称");
sheet.setColumnWidth(2, 20*200);//设置列宽
cell.setCellStyle(style); cell = row.createCell((short) 3);
cell.setCellValue("注册时间");
sheet.setColumnWidth(3, 20*200);//设置列宽
cell.setCellStyle(style); /*
* 第五步:--------------------
*/
//写入实体数据(此处为测试数据)
List<UserPojo> list = ExcelUtil.getUserPojo(); for (int i = 0; i < list.size(); i++) {
//一组数据,新增一行
row = sheet.createRow((int) i + 1);
UserPojo up = list.get(i); //接下来。。。将值放进去(重复第四步)
row.createCell((short) 0).setCellValue(up.getUid());
row.createCell((short) 1).setCellValue(up.getUname());
row.createCell((short) 2).setCellValue(up.getUpass());
row.createCell((short) 3).setCellValue(up.getUdate());
row.getCell(0).setCellStyle(style); // 循环每一行的第0列
row.getCell(1).setCellStyle(style); // 循环每一行的第1列
row.getCell(2).setCellStyle(style); // 循环每一行的第2列
row.getCell(3).setCellStyle(style); // 循环每一行的第3列 } /*
* 第六步:将新生成的文件通过IO存在电脑的指定位置
*/
try {
//创建一个输出流
FileOutputStream fos = new FileOutputStream("D:/Test.xls");
//写入文件
web.write(fos);
//将缓冲区的内容写入文件
fos.flush();
//关闭流,这里想说,如果上述写入数据之后,直接关闭(fos.close())也是可以的,Java虚拟机将会把缓冲区的数据写入文件,但是不推荐
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
下面是我的效果图:

到此入门篇结束,给自己一个记忆。若是各位有看到不合适的地方,请联系本人。。。
后面会发一个升级版,主要想做一个Java生成Excel文档方面的总结;
本文参考了博文:https://blog.csdn.net/u014621859/article/details/54944059
版权声明:本文为博主原创文章,未经博主允许不得转载
文章地址: http://www.cnblogs.com/hotspring/
java 生成Excel开门篇的更多相关文章
- oracle PL/SQL调用Java生成Excel
现在有个需求, 要求编写oracle存储过程生成Excel文件到指定目录, 但是oracle自己的API貌似不太给力, 所以只能通过另一种更强大的语言来实现了 ——Java.有一个Java框架 ...
- JAVA生成EXCEL模板
JAVA生成excel模板,支持1.必填字段前加 红色 * 2.定义可选值下拉列表 valList3.定义名称并通过名称设置可选值 refName(名称在sheet2,sheet2自动隐藏)4.支持设 ...
- 两种方式实现java生成Excel
Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...
- Java生成excel导出文件(使用poi+JXL)
1.使用poi生成文件 package com.mi.entity; import java.util.Date; public class Student { private int id; pri ...
- [转]java生成 excel 并导出文件
原文:https://blog.csdn.net/xunwei0303/article/details/53213130 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta P ...
- java生成excel报表文件
此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...
- java生成excel,word文件
第一部分: 在网站开发中,用户可能需要打印word或者excel表,这种需求是非常多的. java语言生成excel表格和python的方式有点像,使用Apache POI的组件,一通全通.开发过程通 ...
- JAVA生成EXCEL图表
跟据客户的要求,需要开发一套包括图形的报表,还需要导出WORD 图表需要这样: 这样: 这样: 还有这样: 接下来是实现思路: 以往用的最多的就是JFreechart,手上也有实现各种图形的资源,但是 ...
- java生成excel
package test.poi; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; ...
随机推荐
- LinkedBlockingQueue源码解析(3)
此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 4.3.public E take() throws InterruptedException 原理: 将队 ...
- 689. Maximum Sum of 3 Non-Overlapping Subarrays
In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ...
- jzoj5888
tj:暴力連邊會tle 我們發現所有邊的邊權最大值不超過100000,這意味著可以設計和邊權有關的算法,假設現在邊權不相同 枚舉一個現在的邊權i,代表gcd為i,設連的2個點權值為a1∗ia1*ia1 ...
- 使用PhpSpreadsheet将Excel导入到MySQL数据库
本文以导入学生成绩表为例,给大家讲解使用PhpSpreadsheet将Excel导入的MySQL数据库. 准备 首先我们需要准备一张MySQL表,表名t_student,表结构如下: CREATE T ...
- Volley源码解析
说点题外话,将近三个半月没有写博客了,年初换工作,在新的公司,上班第三天开始干活,花了二十来天弄了一个项目,上线后,接着又迭代了几个版本,不知不觉,试用期过完,才稍微有几天闲时.在年初的时候,就一直在 ...
- Java对象的大小及应用类型
基础类型数据的大小是固定的,对于非基本类型的java对象,其大小就值得商榷了. 在java中一个空Object对象的大小是8byte,这个大小只是保存堆中没有任何属性的对象的大小,看下面的语 ...
- [JavaScript] 根据字符串宽度截取字符串
/** * 根据字符串宽度截取字符串 * @param desc 原始字符串 * @param width 该显示的宽度 * @param fontsize 字体大小 12px * @returns ...
- day 49 数据分析, 数据聚合 F 查询 Q 查询
6.聚合查询和分组查询 1.聚合查询aggregate 我们先通过一个例子来感受一下吧. 1 2 3 # 计算所有图书的平均价格 books = models.Book.objects.aggrega ...
- 【10】JMicro微服务-API网关
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到9小节 1. Api网关基本特性: Api网关作为对外网提供服务的基本入口,地位类似于NGINX, ...
- 微信小程序开发笔记1,认识小程序的项目构成
省去安装和基本操作, app.js脚本文件 qpp.json配置文件(添加删除页面,都要在这个文件下修改入口配置) app.wxss样式表文件 app前缀为全局的 在app.json中配置项目的每个页 ...