当前位置: 首页 > 工具软件 > Excel Writer > 使用案例 >

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

裴欣然
2023-12-01

POI: java技术,操作excel文档

hutool-excel:常用poi功能,简化封装成工具类

写出文档数据:

(1)导出数据报表

① 获得能够向excel表格中输出信息对象[流]

writer = ExcelUtil.getWriter("文件路径");

注释:excel表格文件标准后缀:*.xls、*.xlsx

② excel表格数据包含:

表头:指明当前列数据的含义

每行:多个单元格的数据;List | Map

表格:多行数据。List>

③ 将数据写出到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> list = reader.readAll();

③ 关闭流:reader.close();

实例代码:

导出:准备:导入POI的jar以及hutool的jar

①方式一:(表格信息写到对应的文件路径)

ExcelUtil.getWriter("文件路径"); //直接写到文件里

②方式二:(表格信息写到特定的输出流里)

List list = new ArrayList();

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>

// 创建一个存储多行数据的list

List> persons = new ArrayList>();

for (Person person : list) {

// 每个person信息,代表一行数据:Map

Map map = new LinkedHashMap();

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> list = reader.readAll();

③ 关闭流:reader.close();

 类似资料: