poi(2)---excel导出

直接查询数据写入到excel,然后上传到服务

package com.cn.util;

import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.apache.poi.hssf.usermodel.HSSFCell;
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.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;

import com.cn.entity.User;

/**
 * 导出excel
 * */
public class ExportExcel {
	public static void main(String[] args) {
		//1.创建一个User对象的集合(此处模拟数据)
		List<User> userList=new ArrayList<User>();
		//2.循环模拟赋值
		for(int i=0;i<10;i++){
			//创建一个user对象
			User user =new User();
			String uuid=UUID.randomUUID().toString().substring(0, 3)+i;
			//添加数据
			user.setId(i);
			user.setUsername(uuid);
			user.setAge(20+i);
			String sex=i%2==0?"男":"女";
			user.setSex(sex);
			user.setBirthday(new Date());
			
			//加入到集合中
			userList.add(user);
		}
		//1、创建excel工作簿
		HSSFWorkbook workbook=new HSSFWorkbook();
		//2.创建一个工作表,sheet。并命名为用sheet1
		HSSFSheet sheet=workbook.createSheet("sheet1");
		//3.设置表格列宽
		sheet.setColumnWidth(4, 20*256);
		//4.创建标题行
		/**
		 * 在sheet里创建第一行,参数为行索引,可以是0-65535之间的任何一个
		 * */
		HSSFRow row=sheet.createRow(0);
		
		//5.首行单元格
		row.createCell(0).setCellValue("编号ID");
		row.createCell(1).setCellValue("姓名");
		row.createCell(2).setCellValue("年龄");
		row.createCell(3).setCellValue("性别");
		row.createCell(4).setCellValue("生日");
		//6.定义i行
		int i=1;
		//7.格式化时间
		CreationHelper helper=workbook.getCreationHelper();
		//创建样式
		CellStyle style=workbook.createCellStyle();
		style.setDataFormat(helper.createDataFormat().getFormat("yyyy-MM-dd hh:mm:ss"));
		//设置样式字体居中
		for(User user:userList){
			//创建行
			HSSFRow createRow=sheet.createRow((short)i);
			//加载数据
			createRow.createCell(0).setCellValue(user.getId());
			createRow.createCell(1).setCellValue(user.getUsername());
			createRow.createCell(2).setCellValue(user.getAge());
			createRow.createCell(3).setCellValue(user.getSex());
			
			HSSFCell createCell4=createRow.createCell(4);
			createCell4.setCellStyle(style);
			createCell4.setCellValue(user.getBirthday());
			//变量加1
			i++;
		}
		try{
			//文件输出流
			FileOutputStream fs=new FileOutputStream("e:\\poi\\user.xls");
			//输出excel
			workbook.write(fs);
			fs.flush();
			//关闭输出流
			fs.close();
			System.out.println("文件已保存");
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值