我有以下代碼將 EF 輸出轉(zhuǎn)換為 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 文件中的數(shù)據(jù)輸入到 React 組件中以創(chuàng)建一些圖表。有什么幫助嗎?
1 回答

富國滬深
TA貢獻1790條經(jīng)驗 獲得超9個贊
根據(jù)我的評論和作者的一些代碼CsvWriter(假設它是同一個 CSV 庫),要將其寫入字符串,您需要執(zhí)行以下操作:
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();
}
(從這里開始)
現(xiàn)在您已經(jīng)有了作為文本塊的 CSV 文件,我們可以這樣從控制器返回它:
public ActionResult DownloadCSV()
{
return Content(yourCsvString, "text/csv");
}
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報
0/150
提交
取消