0 commenti (0 commenti)0 reazioni (0 reazioni)0 assegnatari (0 assegnatari)Java33.728 star (33.728 star)7599 fork (7599 fork)batch import
help wanted
Descrizione
您好,大文件导出,服务端使用for循环写入到outputStream中,但是前端下载的时候要等到writer.finish()之后才开是往文件中写数据,为什么不能边写边下载呢?是因为XLSX文件类型的问题吗?
Guida contributor
- Tech stack
- java
- Dominio
- backendperformance
- Tipo issue
- research
- DifficoltàQuanto dovrebbe essere impegnativa per un nuovo contributor.
- 3
- Tempo stimatoTempo stimato per completare e verificare uno scope piccolo.
- half day
- Stato attivitàQuanto è probabile che la issue sia ancora attiva e reviewable.
- fresh
- ChiarezzaQuanto chiaramente la issue descrive problema, scope e risultato atteso.
- mostly clear
- Prerequisiti
- JavaOutputStream understandingExcel file format basics
- Adatta ai principiantiQuanto la issue è adatta a contributor alla prima esperienza.
- 45
- Direzione di ricerca
- Innanzitutto, esamina il codice sorgente di EasyExcel, in particolare ExcelWriter e il suo metodo write per capire come i dati vengono scaricati nell'OutputStream. Il problema probabilmente sorge perché il formato XLSX richiede che tutti i dati del foglio vengano scritti prima di finalizzare la struttura ZIP (a causa dello schema XML). Per verificare, guarda il metodo `write()` in `com.alibaba.excel.ExcelWriter` e il metodo `finish()`. Considera se lo streaming tramite un OutputStream personalizzato che scrive i blocchi man mano che arrivano sia fattibile. Controlla se ci sono issue aperte o discussioni sull'esportazione in streaming nel repository. Suggerisci di confrontare con librerie come Apache POI che gestiscono lo streaming in modo diverso.