Acredito que a melhor opção seria armazenar esses dados em SQL e entregar para o usuário em CSV;