【POI】hutool万能工具的poi使用(Excel操作)

POI技术(hutool工具的简单使用)

POI: java技术,操作excel文档
hutool-excel:常用poi功能,简化封装成工具类
写出文档数据:
(1)导出数据报表
① 获得能够向excel表格中输出信息对象[流]
	writer = ExcelUtil.getWriter("文件路径");
	注释:excel表格文件标准后缀:*.xls、*.xlsx
② excel表格数据包含:
	表头:指明当前列数据的含义
	每行:多个单元格的数据;List<Object> | Map<字符串标题,Object>
	表格:多行数据。List<Map<表头,Object数据>>
③ 将数据写出到Excel文档:writer.write(list);
④ 关闭流:writer.close();
(2)向输出流中写入数据
① 创建一个写出的工具:ExcelWriter ew = ExcelUtil.getWriter();
② 将list多行数据集合写入:writer.write(list);
③ flush,将数据写入到指定输出流中:writer.flush(outputStream);
④ 关闭流:writer.close();
(3)设置表格的sheet的名字
writer.renameSheet("xxx")
读入文档数据:
① 创建一个读入的工具:ExcelReader reader = ExcelUtil.getReader("文件路径");
② 读取里面的数据:List<Map<String,Object>> list = reader.readAll();
③ 关闭流:reader.close();
实例代码:
	导出:准备:导入POI的jar以及hutool的jar
	 ①方式一:(表格信息写到对应的文件路径)
		ExcelUtil.getWriter("文件路径");  //直接写到文件里
	 ②方式二:(表格信息写到特定的输出流里)
List<Person> list = new ArrayList<Person>();
		persons.add(new Person("1001", "黄浩", 1, 18, "233456789", "郑州"));
		persons.add(new Person("1002", "杨宁", 1, 18, "233456789", "郑州"));
		persons.add(new Person("1003", "洪诗鹏", 1, 18, "233456789", "郑州"));
// 重要将数据转化为hutool-excel,能够直接写出的数据结构:List<Map<String,Object>>
		// 创建一个存储多行数据的list
		List<Map<String, Object>> persons = new ArrayList<Map<String, Object>>();
		for (Person person : list) {
			// 每个person信息,代表一行数据:Map<String,person的属性>
			Map<String, Object> map = new LinkedHashMap<String, Object>();
			map.put("编号", person.getId());
			map.put("名字", person.getName());
			map.put("年龄", person.getAge());
			map.put("地址", person.getAddress());
			persons.add(map); // 将当前行的数据,加入persons
		}
		ExcelWriter writer = ExcelUtil.getWriter("D:/person.xlsx");// ①创建写出数据到文档中的工具
		writer.renameSheet("联系人信息表");	//设置sheet的名字
		writer.write(persons); // ②将数据写出到文档导出工具中
		writer.flush(输出流);//输出流:可以是文件输出流,也可以是控制器的响应流进行下载
		writer.close(); // ③关闭流
	导入:
		① 创建一个读入的工具:ExcelReader reader = ExcelUtil.getReader("D:/person.xlsx");
		② 读取里面的数据:List<Map<String, Object>> list = reader.readAll();
		③ 关闭流:reader.close();
原文地址:https://www.cnblogs.com/jwnming/p/13635305.html