本随笔的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开门篇的更多相关文章

  1. oracle PL/SQL调用Java生成Excel

    现在有个需求,  要求编写oracle存储过程生成Excel文件到指定目录,  但是oracle自己的API貌似不太给力,  所以只能通过另一种更强大的语言来实现了  ——Java.有一个Java框架 ...

  2. JAVA生成EXCEL模板

    JAVA生成excel模板,支持1.必填字段前加 红色 * 2.定义可选值下拉列表 valList3.定义名称并通过名称设置可选值 refName(名称在sheet2,sheet2自动隐藏)4.支持设 ...

  3. 两种方式实现java生成Excel

    Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...

  4. Java生成excel导出文件(使用poi+JXL)

    1.使用poi生成文件 package com.mi.entity; import java.util.Date; public class Student { private int id; pri ...

  5. [转]java生成 excel 并导出文件

    原文:https://blog.csdn.net/xunwei0303/article/details/53213130 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta P ...

  6. java生成excel报表文件

    此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...

  7. java生成excel,word文件

    第一部分: 在网站开发中,用户可能需要打印word或者excel表,这种需求是非常多的. java语言生成excel表格和python的方式有点像,使用Apache POI的组件,一通全通.开发过程通 ...

  8. JAVA生成EXCEL图表

    跟据客户的要求,需要开发一套包括图形的报表,还需要导出WORD 图表需要这样: 这样: 这样: 还有这样: 接下来是实现思路: 以往用的最多的就是JFreechart,手上也有实现各种图形的资源,但是 ...

  9. java生成excel

    package test.poi; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; ...

随机推荐

  1. HI-LO计数法,赌桌,与机会

    HI-LO计数法,赌桌,与机会 “人只是在拼一种可能性”. 很多简单道理往往字面上理解容易,可实际运用难极. 一,那些人生中被扯的蛋 而关于人生的指导,好多耳熟能详的老话最终都被发现是蒙傻逼的.随便说 ...

  2. kubenetes--Namespace命名空间

    Namespace(命名空间)是kubernetes系统中的另一个重要的概念,通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目.小组或用户组,便于不同的分组在共享使用 ...

  3. Day 4 list 列表的使用方法

     https://www.cnblogs.com/fanison/p/7123532.html s="abcdefg"print("s[3]:",s[3])pr ...

  4. xiaocong/uiautomator

    uiautomator      This module is a Python wrapper of Android uiautomator testing framework. It works ...

  5. 3. Decision Tree

    1. 算法流程 一般的,一颗决策树包含一个根结点.若干内部结点和若干叶结点:叶节点对应于决策结果,其他每个结点则对应于一个属性测试结果:每个结点包含的样本集合根据属性测试的结果被划分到子结点中:根结点 ...

  6. PHP查找与搜索数组元素

    in_array()函数 in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返回false.其形式如下: boolean in_array(mixed needle ...

  7. (转)mysql的sql_mode合理设置

    mysql的sql_mode合理设置 目录          http://xstarcd.github.io/wiki/MySQL/MySQL-sql-mode.html http://dev.my ...

  8. CS231n学习笔记-图像分类笔记(下篇)

    原文地址:智能单元 K-Nearest Neighbor分类器 大家可能注意到了,为什么只用最相似的一张图片的标签来作为测试图像的标签呢?这不是很奇怪吗!是的,使用K-Nearest Neighbor ...

  9. Spring Security构建Rest服务-1201-Spring Security OAuth开发APP认证框架之实现服务提供商

    实现服务提供商,就是要实现认证服务器.资源服务器. 现在做的都是app的东西,所以在app项目写代码  认证服务器: 新建 ImoocAuthenticationServerConfig 类,@Ena ...

  10. 《LeetBook》leetcode题解(19):Remove Nth Node From End of List[E]——双指针解决链表倒数问题

    我现在在做一个叫<leetbook>的开源书项目,把解题思路都同步更新到github上了,需要的同学可以去看看 这个是书的地址: https://hk029.gitbooks.io/lee ...