pbnjay / grate

A Go native tabular data extraction package. Currently supports .xls, .xlsx, .csv, .tsv formats.
MIT License
139 stars 24 forks source link

Store raw value beside formatted #2

Closed tgulacsi closed 3 years ago

tgulacsi commented 3 years ago

And use the Raw() interface{} for Scan.

Needs more test for xls files - I don't have enough at hand.

pbnjay commented 3 years ago

I'm actually halfway through a different implementation for this problem, which keeps the same existing interfaces but allows direct Scan of the data types.

Also, the struct alignment was originally to match the binary format on-disk, I know it's using direct byte slicing now but for reference purposes I'd like to keep the same ordering to help with maintenance

pbnjay commented 3 years ago

Also, the only significantly different struct size in the list is misleading, as there's a 1024 byte allocation missing in the count so it would be 1136 at best: grate/xls/crypto/rc4.go:75:16: struct with 1168 pointer bytes could be 112

And the tool removed all the struct comments which had some important implementation details!

pbnjay commented 3 years ago

Hi Tamás, hopefully you have had a chance to check out the latest interface. It solves the same problem but is able to avoid the slow formatter functions. I appreciate this PR because it validated that this was something other folks also needed!