poi(2)---excel导出
程序员文章站
2022-07-13 13:01:01
...
直接查询数据写入到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();
}
}
}
上一篇: Linux_Shell 设置字体 前景色 与 背景色 的几种方法
下一篇: poi生成excel下载