reading xlsx progress bar #632
Labels
No Label
DBF
Dates
Defined Names
Features
Formula
HTML
Images
Infrastructure
Integration
International
ODS
Operations
Performance
PivotTables
Pro
Protection
Read Bug
SSF
SYLK
Style
Write Bug
good first issue
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sheetjs/sheetjs#632
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First, cannot thank you enough for all the efforts.
I am using js-xlsx to read the excel file with multiple sheets inside Adobe ExtendScript, and have a small request:
Reading the xlsx is taking 10 to 20 seconds, and would be great if i can get a feedback percent,
so I map it to a progress bar inside the UI.
Currently, reading xlsx freezes the application till it finishes.
Suggestion: maybe read sheet by sheet or row by row, can solve it.
Hope this feature request will be helpful in other js applications.
The web browsers have a neat feature called Web Workers that let you run tasks in the background without blocking the UI. That's what http://oss.sheetjs.com/ and http://oss.sheetjs.com/js-xlsx use to ensure the frontend doesn't just stop. There may be a way to do something similar in extendscript.
As for evented read, the major hurdle is the file format. XLSX uses ZIP files and you have to read in the entire file before you can properly unzip. We will think more about this
The freezing till finish reading is acceptable, as long as we have visual feedback (like progress bar)
Maybe jszip.js can send a progress?
sending a progress won't help, as the UI would render it only at the end (as it is frozen)
I want this feature also
It will help if you are using sheet.js correctly, in a web-worker.
Even if you are using web workers its important to give feedback to user. It would be super useful to be able to show progress (every 100-500 rows would be enough i think).