C#从文件流下载文件

发布于 2025-02-09 07:42:01 字数 633 浏览 1 评论 0原文

我想将数据导出为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文件。如何从流中下载块文件?

I want to export my data as csv file. For that I'm using CsvHelper library. But I don't want to have all data in one csv file. The limitation should be 1000 per file.

What I tried for that limitation:


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);
}

For example if I have 100000 rows in database, I want to have 100 csv files. How can I download chunk files from stream?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原来是傀儡 2025-02-16 07:42:01
var i = 1;
foreach (var chunk in result.Chunk(1000))
{
    using var fileStream = new FileStream(
quot;/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
}
var i = 1;
foreach (var chunk in result.Chunk(1000))
{
    using var fileStream = new FileStream(
quot;/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
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文