package testModel;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.pactera.utils.UploadUtils;
public class ExportTest {
public static void main(String[] args) {
// 测试导出数据
export();
}
@SuppressWarnings("resource")
public static void export() {
try {
// 导出文件名
String name = "导出测试.xlsx";
// 导出路径(本地路劲) D://opensour//apache-tomcat-8.0.30//webapps//file-service//uploadfile
String exportPath = "D:\\opensour\\apache-tomcat-8.0.30\\webapps\\file-service\\uploadfile\\excelfile\\excelUploadTest";
// 时间节
String dateSplit = UploadUtils.getDateSplit(null);
File file = new File(exportPath + "/" + dateSplit); // 判断文件是否存在,不存在就新建
if(!file.exists()) {
file.mkdirs();
}
String path = exportPath + "/" + dateSplit + "/" + name;
// 创建一个Excel文件对象(工作簿)
Workbook workBook = new XSSFWorkbook();
// 创建一个sheet对象
Sheet sheet = workBook.createSheet();
Row rowOne = sheet.createRow(0); // sheet创建行对象(表头行)
for (int i = 0; i < 5; i++) {
Cell cell = rowOne.createCell(i); // 创建列
switch (i) {
case 0:
cell.setCellValue("姓名");
break;
case 1:
cell.setCellValue("性别");
break;
case 2:
cell.setCellValue("手机号码");
break;
case 3:
cell.setCellValue("邮箱地址");
break;
case 4:
cell.setCellValue("家庭住址");
break;
}
}
// 获取数据(模拟查库)
List<User> listUser = getUser();
// 往工作簿插入数据
for (int i = 0; i < listUser.size(); i++) {
Row row = sheet.createRow(i+1); // 从第二行开始
Cell cell0 = row.createCell(0); // 第一列
cell0.setCellValue(listUser.get(i).getName());
Cell cell1 = row.createCell(1); // 第二列
cell1.setCellValue(listUser.get(i).getSex());
Cell cell2 = row.createCell(2);// 第三列
cell2.setCellValue(listUser.get(i).getPhone());
Cell cel3 = row.createCell(3);// 第四列
cel3.setCellValue(listUser.get(i).getEmail());
Cell cell4 = row.createCell(4);// 第第五列
cell4.setCellValue(listUser.get(i).getAddress());
}
// 输出Excel文件
FileOutputStream out = new FileOutputStream(path);
workBook.write(out);
out.flush();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 数据源
public static List<User> getUser(){
List<User> listUser = new ArrayList<>();
// 创建10条数据
for (int i = 0; i < 10; i++) {
User user = new User();
user.setName("i一度不凡"+i);
user.setSex("男");
user.setPhone("137****4314");
user.setEmail("iyedobufan@126.com");
user.setAddress("平云广场A塔14楼");
listUser.add(user);
}
return listUser;
}
}
// 实体类
class User{
private String name;
private String sex;
private String phone;
private String email;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}