【POI】hutool萬能工具的poi使用
阿新 • • 發佈:2020-09-08
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();