博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java POI实现excel实现表格导出
阅读量:6497 次
发布时间:2019-06-24

本文共 3127 字,大约阅读时间需要 10 分钟。

hot3.png

 1.首先下载到 
poi-3.6-20091214.jar的包

2.新建一个java类:Student.java:

import java.util.Date;public class Student{	private int id;	private String name;	private int age;	private Date birth;	public Student()	{	}	public Student(int id, String name, int age, Date birth)	{		this.id = id;		this.name = name;		this.age = age;		this.birth = birth;	}	public int getId()	{		return id;	}	public void setId(int id)	{		this.id = id;	}	public String getName()	{		return name;	}	public void setName(String name)	{		this.name = name;	}	public int getAge()	{		return age;	}	public void setAge(int age)	{		this.age = age;	}	public Date getBirth()	{		return birth;	}	public void setBirth(Date birth)	{		this.birth = birth;	}}
3.写个工具类,导入execl:

import java.io.FileOutputStream;import java.text.SimpleDateFormat;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;public class CreateSimpleExcelToDisk{	/**	 * @功能:手工构建一个简单格式的Excel	 */	private static List
getStudent() throws Exception { List list = new ArrayList(); SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd"); Student user1 = new Student(1, "张三", 16, df.parse("1997-03-12")); Student user2 = new Student(2, "李四", 17, df.parse("1996-08-12")); Student user3 = new Student(3, "王五", 26, df.parse("1985-11-12")); list.add(user1); list.add(user2); list.add(user3); return list; } public static void main(String[] args) throws Exception { // 第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = wb.createSheet("学生表一"); // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short HSSFRow row = sheet.createRow((int) 0); // 第四步,创建单元格,并设置值表头 设置表头居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式 HSSFCell cell = row.createCell((short) 0); cell.setCellValue("学号"); cell.setCellStyle(style); cell = row.createCell((short) 1); cell.setCellValue("姓名"); cell.setCellStyle(style); cell = row.createCell((short) 2); cell.setCellValue("年龄"); cell.setCellStyle(style); cell = row.createCell((short) 3); cell.setCellValue("生日"); cell.setCellStyle(style); // 第五步,写入实体数据 实际应用中这些数据从数据库得到, List list = CreateSimpleExcelToDisk.getStudent(); for (int i = 0; i < list.size(); i++) { row = sheet.createRow((int) i + 1); Student stu = (Student) list.get(i); // 第四步,创建单元格,并设置值 row.createCell((short) 0).setCellValue((double) stu.getId()); row.createCell((short) 1).setCellValue(stu.getName()); row.createCell((short) 2).setCellValue((double) stu.getAge()); cell = row.createCell((short) 3); cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu .getBirth())); } // 第六步,将文件存到指定位置 try { FileOutputStream fout = new FileOutputStream("E:/students.xls"); wb.write(fout); fout.close(); } catch (Exception e) { e.printStackTrace(); } }}

转载于:https://my.oschina.net/bluesroot/blog/222569

你可能感兴趣的文章
解决方案(.sln)文件
查看>>
理解cookie和session机制
查看>>
【Treap】bzoj1588-HNOI2002营业额统计
查看>>
第六周作业
查看>>
利用ZYNQ SOC快速打开算法验证通路(5)——system generator算法IP导入IP integrator
查看>>
指针和引用的区别
查看>>
转:strcat与strcpy与strcmp与strlen
查看>>
运行PHP出现No input file specified错误解决办法
查看>>
【重建】从FJOI2016一试谈起
查看>>
selenium之frame操作
查看>>
dom03
查看>>
简析 .NET Core 构成体系
查看>>
从普本到北大:我的跨校跨专业考研经验
查看>>
php 引入其他文件中的变量
查看>>
桑叶黑芝麻糊,从头到脚通补
查看>>
vmware的三种网络模式讲解
查看>>
Directx11教程(61) tessellation学习(3)
查看>>
Directx11教程(11) 增加一个debug宏
查看>>
着急上火
查看>>
C# 接口
查看>>