kz26 / PyExcelerate

Accelerated Excel XLSX Writing Library for Python 2/3
https://pypi.org/project/PyExcelerate/
BSD 2-Clause "Simplified" License
530 stars 60 forks source link

Can support for xlsm be added? #100

Closed caffeinatedMike closed 4 years ago

caffeinatedMike commented 4 years ago

I've been searching for a fast way to dump a large dataframe ([193014 rows x 165 columns]) to an xlsm file, but both pandas and openpyxl take at least an hour before finishing this task. I wondering if you'd consider adding support for xlsm files to this library. From what I've heard, there only needs to be one additional xml file generated for xlsm files to be opened and handled properly by Excel.

kevmo314 commented 4 years ago

Yeah this seems reasonable. Probably just a different save function or flag there. I'm tight on bandwidth right now, a PR would be super welcome :) Otherwise, I'll look at adding this in the future.

caffeinatedMike commented 4 years ago

Awesome! I can try working on this tomorrow to see if I can manage something, but in the event I am unable to accomplish this on my own (as would be seen by a pull request) here are the details that explain the extra file needed for xlsm files.

Another resource that extensively covers the extra file: link

caffeinatedMike commented 4 years ago

@kevmo314 Pull Request sent :) Hope everything is in order. Sorry that I didn't add tests, I'm not familiar with the nose module and I didn't want to skew away from your formatting. Feel free to add tests as you see fit. From what I see, there aren't any performance degradations that I've noticed.