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

时间:2015-02-18 11:05:30

标签: c# console-application

我有一个返回File的函数。该文件由String创建,如下所示:

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

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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.
   }
}

答案 2 :(得分:0)

也许你的意思是

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

您可以获取文件夹的路径,然后您可以在此文件夹中找到csv文件,然后覆盖它(或执行其他操作)。