C# 控制台应用程序生成 CSV

C# console application generate CSV

我有一个 return 是 File 的函数。该文件由字符串创建,如下所示:

return 文件(System.Text.Encoding.Default.GetBytes(data.getCSV()), "text/csv", "Report.csv");

如何将此文件生成为我文件夹中的 .csv 文件?

根据您对 File() 方法的使用,您似乎在控制台应用程序中使用了 (Api)Controller。不要这样做。将业务逻辑放入 class 库中:

public byte[] GenerateCsv()
{
    // ...
    return System.Text.Encoding.Default.GetBytes(data.getCSV());
}

那么你可以这样做:

var csvData = BusinessLogic.GenerateCsv();
System.IO.File.WriteAllBytes("Report.csv", csvData);

你的(Api)Controller也一样:

var csvData = BusinessLogic.GenerateCsv();
return File(csvData, "text/csv", "Report.csv");
var directory = Directory.GetCurrentDirectory(); // assuming that the folder you are looking for is the project directory.
using(var fs = new FileStream(directory +  fileName + extension))
{
   using(var sw = new StreamWriter(fs))
   {
       //use sw to write in the appropriate way.
   }
}

也许你的意思是

string path = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;

你可以获得文件夹的路径,然后你可以在这个文件夹中找到 csv 文件,然后覆盖它(或做其他事情)。