0
点赞
收藏
分享

微信扫一扫

使用java在后台将数据导出为excel文件

自由情感小屋 2022-02-18 阅读 201

 后台得到前台查询条件并查询出数据   ---->数据都是从数据库查询出,现在做测试,自己造数据

需要用到的jar包

 <dependency>
     <groupId>cn.hutool</groupId>
     <artifactId>hutool-all</artifactId>
     <version>4.1.19</version>
 </dependency>
 <!-- Excel导出 -->
<dependency>
     <groupId>org.apache.poi</groupId>
     <artifactId>poi-ooxml</artifactId>
     <version>3.17</version>
 </dependency>
package com.wxz;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * TODO
 * 使用java将数据导出到excell表格
 * @author wxz
 * @date 2022/2/17 16:51
 */
public class TestExportExcell {
	public static void main(String[] args) {
		try{
			List<User>  userList  = new ArrayList<User>();
			userList.add(new User("刘禅","男","17","高三(1)班","武汉","13234567890"));
			userList.add(new User("张珊","女","18","高三(2)班","上海","13234347890"));
			userList.add(new User("刘天","男","19","高三(3)班","襄阳","13234452190"));
			userList.add(new User("刘松","男","20","高三(5)班","北京","13234452130"));
			List<List<String>> rowAll = new ArrayList<List<String>>();
			String fileName = "学生数据";
			if (userList != null && userList.size() > 0) {
				int size = userList.size();
				List<String> row = CollUtil.newArrayList("序号", "学生姓名", "性别", "年龄", "班级","所在地","手机号");
				rowAll.add(row);
				// 循环添加数据到excel中
				for (int i = 0; i < size; i++) {
					User user = userList.get(i);
					List<String> rowItem = CollUtil.newArrayList((i + 1) + "",user.getName(),user.getSex(),user.getAge(),user.getClas(),user.getCity(),user.getPhone());
					rowAll.add(rowItem);
				}
				// 生成excel
				export(rowAll, fileName);
			}
			System.out.println("学生数据导出成功!");
		}catch (Exception e){
			e.printStackTrace();
			System.out.println("学生数据导出失败!");
		}
	}

	private static void export(List<List<String>> rowAll, String fileName) throws IOException {
		ExcelWriter writer = ExcelUtil.getWriter();
		writer.setColumnWidth(-1, 30);
		writer.setRowHeight(-1,20);
		FileOutputStream output = new FileOutputStream("D:\\"+fileName+".xls");
		// 一次性写出内容
		writer.write(rowAll);
		writer.flush(output);
		// 关闭writer,释放内存
		writer.close();
	}
}

效果

 

举报

相关推荐

0 条评论