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 文件,然后覆盖它(或做其他事情)。
我有一个 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 文件,然后覆盖它(或做其他事情)。