在.NET中高效地生成一个非常大的Excel文件?

我需要从ASP.NET MVC网站生成一个非常大的Excel文件,但使用Open XML SDK运行到内存限制。 有没有一种有效的内存生成方式来生成这样的文件?

作为参考,我试图生成一个大约500,000行,每列20列的电子表格。 数据集本身可以很好地适应内存,但Open XML SDK很快耗尽了所有可用的内存。