Apache POI导入数据到Excel电子表格

Apache POI导入数据到Excel电子表格:

写一个实体:

public class Student {

	private long stuid;
	private String stuname;
	private int stuage;
	private char stusex;
	private String studate;
	
	public Student(long stuid, String stuname, int stuage, char stusex, String studate) {
		super();
		this.stuid = stuid;
		this.stuname = stuname;
		this.stuage = stuage;
		this.stusex = stusex;
		this.studate = studate;
	}
	public Student() {
		super();
	}
	
	public long getStuid() {
		return stuid;
	}
	public void setStuid(long stuid) {
		this.stuid = stuid;
	}
	public String getStuname() {
		return stuname;
	}
	public void setStuname(String stuname) {
		this.stuname = stuname;
	}
	public int getStuage() {
		return stuage;
	}
	public void setStuage(int stuage) {
		this.stuage = stuage;
	}
	public char getStusex() {
		return stusex;
	}
	public void setStusex(char stusex) {
		this.stusex = stusex;
	}
	public String getStudate() {
		return studate;
	}
	public void setStudate(String studate) {
		this.studate = studate;
	}
	@Override
	public String toString() {
		return "stuid=" + stuid + ", stuname=" + stuname + ", stuage=" + stuage + ", stusex=" + stusex
				+ ", studate=" + studate;
	}
	
	
}

正式开始:

import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Map;

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.util.CellRangeAddress;

import entity.Student;

/**
 * Apache POI导入数据到Excel电子表格
 *
 */
public class PoiExportExcel {
	
	private static void exportExcel() throws Exception{
		
		Map<Integer, Student> map = new HashMap<>();
//		创建三个学生对象
		Student s1 = new Student(1001, "张三", 15, '男', "2015年10月10号");
		Student s2 = new Student(1002, "李四", 18, '女', "2016年06月06号");
		Student s3 = new Student(1003, "王五", 20, '女', "2015年08月08号");
		map.put(0, s1);
		map.put(1, s2);
		map.put(2, s3);
		
//		第一步:声明一个工作簿
		HSSFWorkbook book = new HSSFWorkbook();
//		第二步:声明一个表格(sheet),名字为:2015年学生信息表
		HSSFSheet sheet = book.createSheet("2015学生信息表");
//		第三步:声明行对象引用
		HSSFRow row;
		
		//设置标题
		row = sheet.createRow(0);
		row.createCell(0).setCellValue("2015年新生入学数据");
		
		/**
		 * 合并单元格:new CellRangeAddress(firstRow, lastRow, firstCol, lastCol)
		 * firstRow:从第几行开始
		 * lastRow:从第几行结束
		 * firstCol:从第几个单元格开始
		 * lastCol:从第几个单元格结束
		 */
		sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 5));
		//设置列名称
		row = sheet.createRow(1);
		row.createCell(0).setCellValue("编号");
		row.createCell(1).setCellValue("学号");
		row.createCell(2).setCellValue("姓名");
		row.createCell(3).setCellValue("年龄");
		row.createCell(4).setCellValue("性别");
		row.createCell(5).setCellValue("日期");
		
//		第四步:写入数据
		for(int i = 0; i<map.size(); i++){
			row = sheet.createRow(i+2);
			if(map.containsKey(i)){
				Student s = map.get(i);
				row.createCell(0).setCellValue(i+1);
				row.createCell(1).setCellValue(s.getStuid());
				row.createCell(2).setCellValue(s.getStuname());
				row.createCell(3).setCellValue(s.getStuage());
				row.createCell(4).setCellValue(s.getStusex()=='女'?"女":"男");
				row.createCell(5).setCellValue(s.getStudate());
			}
		}
		
		//创建表格之后设置行高与列宽
	    for (int i = 0; i < map.size(); i++) {
			row = sheet.getRow(i+2);
			row.setHeightInPoints(30);
		}
	    
//	    最后:写入到磁盘
	    book.write(new FileOutputStream("D:\\学生信息表.xls"));
		
	}
	
	public static void main(String[] args) throws Exception {
		exportExcel();
	}
	
}

效果图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值