網站首頁 編程語言 正文
最近工作中需要將數據寫入到excel中,寫入的方式分兩類,一類是直接寫入excel文件,另一類是需要追加寫入。直接寫入excel的方式,可直接參考 easyexcel 的文檔,采用的是按照模板填充。
今天主要是分享追加寫入的方式,因為項目的原因,沒有使用數據庫,所以匯總數據時,需要把每次測試數據追加寫入的同一個 excel 文件中。
本文主要參考了easyexcel已存在的excel里追加數據(csdn) 和 easyexcel往已存在的excel文件里追加數據(cnblog)兩篇文章,并根據自己的需求進行了相應的修改。
DEMO 代碼如下:
private static void writeAppend(String fileName) {
File file = new File("C:/Users/Administrator/Documents/Code/" + fileName);
File tempFile = new File("C:/Users/Administrator/Documents/Code/temp.xlsx");
if (file.exists()){
// 第二次按照原有格式,不需要表頭,追加寫入
EasyExcel.write(file, TestData.class).needHead(false).
withTemplate(file).file(tempFile).sheet().doWrite(testData());
}else {
// 第一次寫入需要表頭
EasyExcel.write(file,TestData.class).sheet().doWrite(testData());
}
if (tempFile.exists()){
file.delete();
tempFile.renameTo(file);
}
}
實際效果如下圖
需要注意:
- 追加寫入時,如果 write 方法不帶參數,默認從第一列寫入,可能會導致和預想的結果有出入;
- 追加寫入時,后面的追加不需要寫入表頭,因此需要調用 needHead(false) 方法;
- 使用doWrite方法執行寫入,使用完后會自動釋放資源,如果不釋放資源可能會導致后面的重命名失敗;
原文鏈接:https://blog.csdn.net/Lincain/article/details/125707455
相關推薦
- 2022-07-23 C++深入淺出探索數據結構的原理_C 語言
- 2022-08-23 .net中的Span<T>類和Memory<T>類介紹_基礎應用
- 2022-05-28 Golang空接口與類型斷言的實現_Golang
- 2022-09-15 C#中DateTime的時間加減法操作小結_C#教程
- 2023-07-26 webpack配置preload和prefetch預加載技術
- 2022-04-01 mybatis if 并且判斷列表是否為空
- 2022-02-03 gogs倉庫代碼拉取不需要用戶賬號驗證問題
- 2022-09-13 C#?wpf使用ListBox實現尺子控件的示例代碼_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支