c#从文件流下载文件



我想导出我的数据为csv文件。为此,我使用了CsvHelper库。但我不想把所有数据都放在一个csv文件中。每个文件的限制应该是1000。

我尝试的限制:


var fileStream = new FileStream("/static/export.csv", FileMode.Create, FileAccess.Write)
var memoryStream = new MemoryStream();
var stream = new StreamWriter();
var writer = new CsvWriter(stream, config);

for(i = 0; i < indexCount; i += 1000)
{
var items = result.Skip(i).Take(1000);
.
.// logic for writing records with CsvHelper
.
writer.Flush();
memoryStream.Position = 0;
byte[] data = memoryStream.ToArray();
fileStream.Write(data, 0, data.Length);
}

例如,如果我在数据库中有100000行,我想有100个csv文件。我如何从流下载块文件?

var i = 1;
foreach (var chunk in result.Chunk(1000))
{
using var fileStream = new FileStream($"/static/export{i++}.csv", FileMode.Create, FileAccess.Write);
using var streamWriter = new StreamWriter(fileStream);
var writer = new CsvWriter(streamWriter , config);
// logic for writing records with CsvHelper
}

最新更新