We have some very good experiences with LibXL. We have (and sell) a library here at DAE that dataflexifies the API and handles most of the annoying stuff, such as OEM-ANSI-translations and errors.

I just did a test on my laptop that wrote 500000 times a name, address, postal code, and country. It took about 30 seconds to do that.