日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

FastExcel:超越 EasyExcel 的新一代 Excel 處理神器

admin
2025年1月18日 7:45 本文熱度 2261

簡(jiǎn)介

FastExcel是由原EasyExcel作者在阿里巴巴宣布停止維護(hù)EasyExcel之后推出的升級(jí)版框架。它繼承了EasyExcel的所有優(yōu)點(diǎn),并且在性能和功能上進(jìn)行了顯著的提升和創(chuàng)新。

FastExcel的特點(diǎn)

  • 高性能讀寫(xiě): FastExcel專注于性能優(yōu)化,能夠高效處理大規(guī)模的Excel數(shù)據(jù),顯著降低內(nèi)存占用。
  • 簡(jiǎn)單易用: 提供了簡(jiǎn)潔直觀的API,使得開(kāi)發(fā)者可以輕松集成到項(xiàng)目中,無(wú)論是簡(jiǎn)單的Excel操作還是復(fù)雜的數(shù)據(jù)處理都能快速上手。
  • 流式操作: 支持流式讀取,將一次性加載大量數(shù)據(jù)的問(wèn)題降到最低,特別適合處理數(shù)十萬(wàn)甚至上百萬(wàn)行的數(shù)據(jù)。
  • 完全兼容: 完全兼容原EasyExcel的所有功能和特性,用戶可以無(wú)縫過(guò)渡。
  • 持續(xù)更新: FastExcel會(huì)持續(xù)更新,修復(fù)bug,優(yōu)化性能,增加新功能。

FastExcel使用方法詳解

創(chuàng)建實(shí)體類和監(jiān)聽(tīng)器

  • 創(chuàng)建實(shí)體類

在使用FastExcel進(jìn)行Excel文件的讀寫(xiě)操作之前,需要定義一個(gè)實(shí)體類,該類中的每個(gè)屬性對(duì)應(yīng)Excel中的一列。使用@ExcelProperty注解來(lái)指定列名。

import cn.idev.excel.annotation.ExcelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Setter
@Getter
@ToString
public class User {
    @ExcelProperty("編號(hào)")
    private Integer id;
    @ExcelProperty("名字")
    private String name;
    @ExcelProperty("年齡")
    private Integer age;
}
  • 創(chuàng)建事件監(jiān)聽(tīng)器

FastExcel通過(guò)事件監(jiān)聽(tīng)器實(shí)現(xiàn)Excel文件的逐行讀取,這對(duì)于處理大文件尤為重要,因?yàn)樗梢员苊鈨?nèi)存溢出的問(wèn)題。下面是一個(gè)事件監(jiān)聽(tīng)器的示例,它在讀取每行數(shù)據(jù)時(shí)將數(shù)據(jù)添加到列表中,并在所有數(shù)據(jù)讀取完成后執(zhí)行一些操作。

import cn.idev.excel.context.AnalysisContext;
import cn.idev.excel.event.AnalysisEventListener;
import java.util.ArrayList;
import java.util.List;

public class BaseExcelListener<Textends AnalysisEventListener<T{
    private List<T> dataList = new ArrayList<>();

    @Override
    public void invoke(T t, AnalysisContext analysisContext) {
        dataList.add(t);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        System.out.println("讀取完成,共讀取了 " + dataList.size() + " 條數(shù)據(jù)");
    }

    public List<T> getDataList() {
        return dataList;
    }
}

實(shí)現(xiàn)寫(xiě)入和讀取功能

  • Excel寫(xiě)入功能

以下是使用FastExcel進(jìn)行Excel寫(xiě)入的示例代碼。首先,創(chuàng)建測(cè)試數(shù)據(jù),然后通過(guò)FastExcel.write方法將數(shù)據(jù)寫(xiě)入到Excel文件中。

// Excel寫(xiě)入功能
@GetMapping("/download")
public void download(HttpServletResponse response) throws IOException {
    response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    response.setCharacterEncoding("utf-8");
    String fileName = URLEncoder.encode("test""UTF-8");
    response.setHeader("Content-disposition",
                       "attachment;filename*=utf-8''" + fileName + ".xlsx");
    // 寫(xiě)入數(shù)據(jù)
    FastExcel.write(response.getOutputStream(), User.class)
    .sheet("模板")
    .doWrite(buildData())
;
}

// 創(chuàng)建測(cè)試數(shù)據(jù)
private List<User> buildData() {
    User user1 = new User();
    user1.setId(1);
    user1.setName("張三");
    user1.setAge(18);
    User user2 = new User();
    user2.setId(2);
    user2.setName("李四");
    user2.setAge(19);
    return List.of(user1, user2);
}
  • Excel讀取功能

以下是使用FastExcel進(jìn)行Excel讀取的示例代碼。通過(guò)FastExcel.read方法讀取Excel文件,并使用之前創(chuàng)建的監(jiān)聽(tīng)器來(lái)處理讀取到的數(shù)據(jù)。

// Excel讀取功能
@PostMapping("/upload")
public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) {
    if (file.isEmpty()) {
        return ResponseEntity.badRequest().body("請(qǐng)選擇一個(gè)文件上傳!");
    }
    try {
        BaseExcelListener<User> baseExcelListener = new BaseExcelListener<>();
        FastExcel.read(file.getInputStream(), User.classbaseExcelListener).sheet().doRead();
        List<User> dataList = baseExcelListener.getDataList();
        System.out.println(dataList);
        return ResponseEntity.ok("文件上傳并處理成功!");
    } catch (IOException e) {
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("文件處理失敗!");
    }
}

Excel轉(zhuǎn)換為PDF

FastExcel還支持將Excel文件轉(zhuǎn)換為PDF文件,這一功能底層依賴于Apache POI和itext-pdf。請(qǐng)注意,使用itext-pdf時(shí)需要確保符合其許可證要求。

FastExcel.convertToPdf(new File("excelFile"),new File("pdfFile"),null,null);

小結(jié)

FastExcel作為一個(gè)高效且易于使用的Excel處理工具,不僅繼承了EasyExcel的所有優(yōu)點(diǎn),還在此基礎(chǔ)上進(jìn)行了性能和功能的增強(qiáng)。

通過(guò)上述示例,我們可以看到FastExcel如何簡(jiǎn)化Excel文件的讀寫(xiě)操作,以及如何通過(guò)事件監(jiān)聽(tīng)器實(shí)現(xiàn)流式處理,從而有效管理內(nèi)存使用。無(wú)論是企業(yè)數(shù)據(jù)導(dǎo)入導(dǎo)出還是個(gè)人項(xiàng)目開(kāi)發(fā),F(xiàn)astExcel都能提供強(qiáng)大的支持。

FastExcel與EasyExcel的區(qū)別

  • 性能提升: FastExcel在性能上比EasyExcel更好,更穩(wěn)定。
  • API一致性: FastExcel與EasyExcel的API完全一致,可以無(wú)縫切換。
  • 功能增加: FastExcel 1.0.0版本新增了讀取Excel指定行數(shù)和將Excel轉(zhuǎn)換為PDF的功能。

結(jié)論

FastExcel作為一個(gè)輕量級(jí)但功能強(qiáng)大的Java庫(kù),專為需要高性能和低內(nèi)存占用的Excel文件處理而設(shè)計(jì)。如果您的項(xiàng)目需要處理大規(guī)模的Excel數(shù)據(jù),F(xiàn)astExcel無(wú)疑是一個(gè)值得考慮的選擇。其流式處理和靈活的API使其成為處理Excel文件的理想工具。

作者:拉滿buff搞代碼
來(lái)源:juejin.cn/post/7451871895753326626


END


閱讀原文:原文鏈接


該文章在 2025/1/18 11:09:48 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

亚洲aⅴ无码精品狠狠爱| 日韩色在线| .免费一区二区三区| 人妻女医av谷原希美| 成熟免费日B视频| 亚洲另类久久图片| 精品人妖欧美人妖| 久月精品| 大鸡巴91reav| 天堂婷婷香蕉| 欧美日韩一级在线看| 激情高清无码| 台湾1区2区在线观看| 97caoporn超碰在线观看| 日本理论片在线播放| 欧美性吧| 人妻一区二区三区不卡| 日b视频网站免费在线观看 | 精品一二三区/| 久久久久岛国av免费| 啊啊啊,啊啊啊啊啊操死我了| 日本国产欧美在线视频| 国产三级中文字幕你懂的| 91精品国产91久久久久福利| 欧美日本成年人网址| 国产一片一区精品免费| 国产精品久久久久精囗交| 久久久无码专区| 国产精品久久三极片| 一区二区国产精品欧美淫| 国内一级黄片,韩国一级黄片| 妇女午夜九九九| 91fuliwang| 手机午夜福利视频| 后入少妇内射| 国产精品久久久久久久久免费看| 麻豆av观看好爽| 久久99国产日韩精品| 免费观看亚洲AV电影网站| 欧美在线伊人| 激情久久小说|