Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can support xls? #44

Open
CodyGuo opened this issue Apr 21, 2017 · 14 comments
Open

Can support xls? #44

CodyGuo opened this issue Apr 21, 2017 · 14 comments

Comments

@CodyGuo
Copy link

CodyGuo commented Apr 21, 2017

No description provided.

@xuri
Copy link
Member

xuri commented Apr 21, 2017

@CodyGuo Thanks for your issue. The legacy XLS use Object Linking and Embedding (OLE) format, it's completely different with OOXML and can't be supported by the same code. To support this feature maybe needs to evaluate.

@CodyGuo
Copy link
Author

CodyGuo commented Apr 21, 2017

@xuri Thank you, waiting for your good news.

@lunny
Copy link
Contributor

lunny commented May 5, 2018

see https://github.com/extrame/xls

@mlh758
Copy link
Contributor

mlh758 commented Aug 1, 2019

@xuri The xls spec if pretty heavy duty and entirely different from reading xlsx. I think it would be reasonable to say we won't support the legacy xls format and close this and the related issues.

@stardustliu
Copy link

a conclusions yet?

@asadrajput2
Copy link

@xuri Any update yet?

@KiddoV
Copy link

KiddoV commented Aug 5, 2022

Any update on this topic? I really need to read xls file instead, due to business format usage.

@zepyrshut
Copy link

see https://github.com/extrame/xls

Thank you!!!

@KiddoV
Copy link

KiddoV commented Jan 3, 2023

So we have to use a totally different library for xls? Hmm.. 🤔

@zepyrshut
Copy link

zepyrshut commented Jan 3, 2023

So we have to use a totally different library for xls? Hmm.. 🤔

It seems that you have to use a different library. The other one is easy to use. If you are going to use it, consider that it has a incorrect master branch tagging and you will have to go get github.com/extrame/xls/xls@4a6cf263071b975a90abf74ca3e804b48243be28

@KiddoV
Copy link

KiddoV commented Jul 19, 2023

The github.com/extrame/xls lib is too old now and has a lot of bugs. The biggest/critical bug I think is extrame/xls#56 that, I don't think will get fixed soon.

If this lib is not support all functionalities for XLS, maybe make a conversion function somehow to convert it to XLSX so we can use this lib in peace? :)

@mlh758
Copy link
Contributor

mlh758 commented Jul 19, 2023

xlsx was introduced with Microsoft office 2007 and can be read with zip + xml parsers. It supports far more rows and allows for compression.

xls is a binary format, is limited to ~65k rows, and parsing it requires an entirely separate set of tools: https://interoperability.blob.core.windows.net/files/MS-XLS/%5bMS-XLS%5d.pdf

I'd really like to know, why are you using xls instead of xlsx in 2023? Is it macro support?

@KiddoV
Copy link

KiddoV commented Jul 19, 2023

I'd really like to know, why are you using xls instead of xlsx in 2023? Is it macro support?

Same on this issue's comment here: #341 (comment)
That's because my company is still using the XLS format as a default instead. Sadly! :(

@mlh758
Copy link
Contributor

mlh758 commented Jul 19, 2023

I really don't see this getting added to the library due to the complexity involved. Like I said, it's not a similar implementation at all.

Java has Apache POI: https://poi.apache.org/ which is probably your most complete, free option.

There's a go wrapper for libxls: https://github.com/godzie44/go-xls

Over on the C# side if you have Windows there are some free libraries that support interop to office and can do conversion. If you're not on Windows (and that's unlikely for your server, and probably a risk to install there anyway) there are some paid libraries.

There's also a Python library: https://pypi.org/project/xlrd/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants