我想將我的資料匯出為 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 檔案。如何從流中下載塊檔案?
uj5u.com熱心網友回復:
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
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/494583.html
