Using CSVHelper to output stream to browser

前端 未结 3 1563
时光说笑
时光说笑 2020-12-05 04:32

I\'m trying to use CSVHelper to generate a CSV file and send it back to a browser, so the user can select a save location and filename and save the data.

The websit

3条回答
  •  醉酒成梦
    2020-12-05 05:05

    Could also user dynamic keyword for converting any data

    Code from @Lin

    public FileStreamResult  ExportPayments()
    {
        var result = WriteCsvToMemory(_commonService.GetPayments()()); 
        var memoryStream = new MemoryStream(result);
        return new FileStreamResult(memoryStream, "text/csv") { FileDownloadName = "export.csv" };
    }
    
    
    public byte[] WriteCsvToMemory(dynamic records)
    {
        using (var memoryStream = new MemoryStream())
        using (var streamWriter = new StreamWriter(memoryStream))
        using (var csvWriter = new CsvWriter(streamWriter))
        {
            csvWriter.WriteRecords(records);
            streamWriter.Flush();
            return memoryStream.ToArray();
        }
    }
    

提交回复
热议问题