我有一个在net core中开发的web api,它从流中读取一些大文件。到目前为止,这些文件一直是 csv ,我一直在使用CsvHelper(我强烈推荐的一个非常高效且完整的库)来实现这一目标。
问题是我现在需要支持 xlsx 文件,我希望以与我一直使用 csv 相同的方式进行异步处理。
我的代码是:
using (var reader = new StreamReader(stream))
{
using (var csvParser = new CsvParser(reader))
{
IList<string> row = await csvParser.ReadAsync();
// continue reading and working with the file
}
}
我找到了NPOI和EPPlus.Core,但我没有看到任何方式异步处理流。据我所知,使用这些库,您需要在开始使用它之前将所有流都放在内存中。你们知道任何与net core兼容的库允许你异步工作以避免将整个文件加载到内存中吗?