[GH-ISSUE #510] Feature Request: Streaming writes to XLSX file #397

Closed
opened 2026-05-05 12:14:42 -06:00 by gitea-mirror · 1 comment
Owner

Originally created by @evanefsvals on GitHub (Mar 23, 2026).
Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/510

Hi,

Is there a streaming writes functionality for large data writes to an XLSX file?
If not, could that be implemented?

Kind regards,
Evangelos

Originally created by @evanefsvals on GitHub (Mar 23, 2026). Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/510 Hi, Is there a streaming writes functionality for large data writes to an XLSX file? If not, could that be implemented? Kind regards, Evangelos
Author
Owner

@jmcnamara commented on GitHub (Mar 23, 2026):

That functionality isn't available and it isn't easy to add.

There are two issues that would need to be resolved to enable this. The first is that it would require a streaming zip library in C. I believe these exist but supporting them would require rewriting the backend of libxlsxwriter. The second is that the xlsx format contains XML elements that can only be created when the entire file is ready to be finalized, so streaming an intermediary version isn't feasible. It is probably technically possible to do it but with a high degree of difficulty and work. Xlsx isn't a simple file format like CSV which can be streamed as it is written.

So, for these reasons, streaming is unlikely to be supported.

<!-- gh-comment-id:4114167451 --> @jmcnamara commented on GitHub (Mar 23, 2026): That functionality isn't available and it isn't easy to add. There are two issues that would need to be resolved to enable this. The first is that it would require a streaming zip library in C. I believe these exist but supporting them would require rewriting the backend of libxlsxwriter. The second is that the xlsx format contains XML elements that can only be created when the entire file is ready to be finalized, so streaming an intermediary version isn't feasible. It is probably technically possible to do it but with a high degree of difficulty and work. Xlsx isn't a simple file format like CSV which can be streamed as it is written. So, for these reasons, streaming is unlikely to be supported.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/libxlsxwriter#397
No description provided.