我有以下代码将 EF 输出转换为 CSV 文件(并将其保存到服务器端然后返回): List<LearningActionMonitoringDTO> results = _context .LearningActionProgressUpdates .Include(la => la.LearningAction) .Where(la => la.LearningActionId == actionId) .Select(la => new LearningActionMonitoringDTO { Title = la.LearningAction.Title, Progress = la.Progress, ProgressDate = la.DateCreated.ToString("g"), }).ToList(); using (var csv = new CsvWriter(new StreamWriter("CSVfiles/Actors.csv"))) { csv.WriteRecords(results); } FileInfo f = new FileInfo("CSVfiles/Actors.csv"); return f;我想知道是否可以返回resultsCSV 格式而不先将其保存到服务器。我需要将 CSV 文件中的数据输入到 React 组件中以创建一些图表。有什么帮助吗?
1 回答
富国沪深
TA贡献1790条经验 获得超9个赞
根据我的评论和作者的一些代码CsvWriter(假设它是同一个 CSV 库),要将其写入字符串,您需要执行以下操作:
using( var stream = new MemoryStream() )
using( var reader = new StreamReader( stream ) )
using( var writer = new StreamWriter( stream ) )
using( var csv = new CsvWriter( writer ) )
{
csv.WriteRecords( results);
writer.Flush();
stream.Position = 0;
var text = reader.ReadToEnd();
}
(从这里开始)
现在您已经有了作为文本块的 CSV 文件,我们可以这样从控制器返回它:
public ActionResult DownloadCSV()
{
return Content(yourCsvString, "text/csv");
}
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消