import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.metadata.WriteSheet;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.Map;
@Slf4j
public class ExcelUtil {
/**
* 將多個實體類集合寫入同一個 Excel 檔案的不同 Sheet 頁
*
* @param dataMap 實體類集合對映,鍵為 Sheet 索引,值為對應的實體類集合
* @param outputFilePath 輸出 Excel 檔案路徑
* @param excelName Excel 檔名
* @param sheetNames Sheet 名稱對映,鍵為 Sheet 索引,值為對應的 Sheet 名稱
*/
public static void writeDataToExcel(Map<Integer, List<?>> dataMap, String outputFilePath, String excelName, Map<Integer, String> sheetNames) {
try (ExcelWriter excelWriter = EasyExcel.write(outputFilePath + "\\" + excelName).excelType(ExcelTypeEnum.XLSX).build()) {
for (Map.Entry<Integer, List<?>> entry : dataMap.entrySet()) {
int sheetIndex = entry.getKey();
List<?> data = entry.getValue();
String sheetName = sheetNames.get(sheetIndex);
WriteSheet writeSheet = EasyExcel.writerSheet(sheetIndex, sheetName).head(data.get(0).getClass()).build();
BatchUtil.execute(data, 1000, batchData -> excelWriter.write(batchData, writeSheet));
}
} catch (Exception e) {
log.error("writeDataToExcel error: ", e);
}
}
}
將多個實體類集合寫入同一個 Excel 檔案的不同 Sheet 頁
相關文章
- 多個excel檔案合併到一個檔案中的多個sheet表中Excel
- 同一excel檔案中不同sheet間alt+tab切換Excel
- 多個報表匯出到一個 excel 的多 sheet 頁Excel
- Python合併多個Excel檔案中的指定sheetPythonExcel
- 用Pandas讀寫Excel檔案-輸出單sheet和多sheetExcel
- 匯出多個檔案到一個Excel中的不同sheetsExcel
- 類的方法,函式,同一個package不同.py檔案,不同package不同.py檔案————呼叫問題函式Package
- 多個excel檔案合併成一個excel表的方法 如何快速合併多個excel檔案Excel
- 驚喜!一個檔案多個【請求類】的另類寫法
- 多個 EXCEL 檔案如何合併成一個檔案Excel
- 如何把大 Excel 檔案拆成多個小檔案Excel
- 同一臺伺服器部署多個專案,實現不同域名訪問伺服器
- python——將excel檔案寫入mysql資料庫中PythonExcelMySql資料庫
- [問題]多個檔案寫入日誌報錯
- 讀取excel某表的sheet1的前5行,寫入的第二個表的sheet1的前5行Excel
- Python結合檔名稱將多個檔案複製到不同路徑下Python
- Mac如何將多個檔案快速歸類到一個資料夾裡Mac
- opencv-python 讀取同一目錄的多個檔案OpenCVPython
- 同一頁面生成多個驗證碼
- 同一個專案中的多個Spring Boot應用實現CQRS - itnextSpring Boot
- C# net8使用NPOI匯出多個sheet工作簿的execl檔案C#
- php redis 集合sadd同時寫入多個鍵值的方法PHPRedis
- 多個module實體類集合打一個jar包並上傳至遠端庫JAR
- mybatis的配置檔案中使用兩個或多個foreach進行多個集合遍歷的問題MyBatis
- 最近很火的Vue Vine是如何實現一個檔案中寫多個元件Vue元件
- 針對不同場景的Python合併多個Excel方法PythonExcel
- Python–logging模組不同級別寫入到不同檔案Python
- electron中使用adm-zip將多個excel檔案壓縮排資料夾,使用XLSX以及XLSXStyle生成帶樣式excel檔案Excel
- 一個頁面引用多個檔案,如何防止樣式衝突?
- SpringMVC多個檔案上傳實現SpringMVC
- 如何在github同一個倉庫上傳多個專案Github
- iOS 同一個workspace下建立多個專案程式設計iOS程式設計
- MATLAB|讀取一個檔案,並將其不同內容儲存為不同的矩陣Matlab矩陣
- MySQL 更新同一個表不同欄位MySql
- JAVA 兩個類同時實現同一個介面的方法Java
- nginx同一埠配置代理不同路徑下的檔案Nginx
- python讀寫excel檔案PythonExcel
- python 將一個資料夾內的不同型別檔案分別儲存到兩個不同的資料夾(json,png)Python型別JSON