【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();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM