1. Вам уже правильно сказали, или csv, или напрямую писать в xlsx
2. Если хотите напрямую - то гуглите XLSX File Format Specifications. Например:
XLSX File Format или
официальное описание на сайте MS.
3. Использовать подобный объём данных в Excel - бессмысленно. Вам нужен BI для этого. Быстро будет работать только в Qlik, так как там in-memory движок, или грузите в кубы, если предпочитаете стек MS.
4. Если использовать BI-решение, то вопрос - а зачем это все в Ёхель выгружать? Развертываете BI, забираете данные напрямую из DAX.
5. А можно прикладной смысл анализа 500 000 строк? Это анализ логов, анализ чеков, продажи vs остатки?
С Уважением,
Георгий