簡體   English   中英

C# 從文件流下載文件

[英]C# download file from filestream

我想將我的數據導出為 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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM