psmithuk / xlsx

Create Excel files in Go
MIT License
33 stars 8 forks source link

Streaming api #3

Closed sean-duffy closed 10 years ago

sean-duffy commented 10 years ago

This introduces a memory efficient streaming API which allows writing sheets of arbitrary length in constrained memory environments. An example of how to use streaming is found in examples/large/main.go. This makes an effort to maintain backwards compatibility at the API level.

There are some more changes which I'll send in separate pull requests, which improve compatibility with other spreadsheet software (Libreoffice, Gnumeric) and add some performance improvements.

psmithuk commented 10 years ago

@sean-duffy this looks really great. I'll test against the few small apps I have that use this and then merge. Also also fix up the readme etc.

My efforts were pretty poor. I spent all my time reverse engineering Excel files and not thinking about how I'd use it as a library or worrying about performance.

I still have occasional problems with opening the odd generated files in Excel. I'd be interested to see what your compatibility fixes are.

thanks Paul