reading xlsx progress bar #632

Open
opened 2017-04-16 08:36:43 +00:00 by firas3d · 6 comments
firas3d commented 2017-04-16 08:36:43 +00:00 (Migrated from github.com)

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.

image

Suggestion: maybe read sheet by sheet or row by row, can solve it.

Hope this feature request will be helpful in other js applications.

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. ![image](https://cloud.githubusercontent.com/assets/17760039/25069951/7d66f03e-22a0-11e7-8c7c-f37ae50c5090.png) Suggestion: maybe read **sheet by sheet** or **row by row**, can solve it. Hope this feature request will be helpful in other js applications.
SheetJSDev commented 2017-04-16 08:50:54 +00:00 (Migrated from github.com)

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 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
firas3d commented 2017-04-16 09:00:24 +00:00 (Migrated from github.com)

The freezing till finish reading is acceptable, as long as we have visual feedback (like progress bar)
Maybe jszip.js can send a progress?

The freezing till finish reading is acceptable, as long as we have visual feedback (like progress bar) Maybe jszip.js can send a progress?
stof commented 2017-07-26 16:19:55 +00:00 (Migrated from github.com)

sending a progress won't help, as the UI would render it only at the end (as it is frozen)

sending a progress won't help, as the UI would render it only at the end (as it is frozen)
dingchaoyan1983 commented 2017-08-04 01:21:57 +00:00 (Migrated from github.com)

I want this feature also

I want this feature also
ghost commented 2019-07-23 23:46:00 +00:00 (Migrated from github.com)

It will help if you are using sheet.js correctly, in a web-worker.

It will help if you are using sheet.js correctly, in a web-worker.
thrnd commented 2021-03-01 17:59:04 +00:00 (Migrated from github.com)

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).

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).
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
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: sheetjs/sheetjs#632
No description provided.