Используйте метод расширения для генерации этого csv файлу
/// <summary>
/// Convert an array to string list, of the form "1,2,3,.."
/// </summary>
/// <param name="array">The array of numbers</param>
/// <returns>A string value</returns>
public static string ToCSVRow<T>(this T[] array)
{
string[] parts=new string[array.Length];
for(int i=0; i<parts.Length; i++)
{
parts[i]=array[i].ToString();
}
return string.Join(",", parts);
}
/// <summary>
/// Convert a jagged array to csv table, where each row has the form "1,2,3,.."
/// </summary>
/// <param name="array">The array of numbers</param>
/// <returns>A string value</returns>
public static string ToCSV<T>(this T[][] array)
{
List<string> csv=new List<string>();
for(int i=0; i<array.Length; i++)
{
csv.Add(array[i].ToCSVRow());
}
return string.Join(Environment.NewLine, csv.ToArray());
}
и использовать с
return File(output.ToCSV(), "text/csv", "Report123.csv");
Edit 1
на основе замечаний, было бы проще и, возможно, быстрее выполните следующие действия:
/// <summary>
/// Convert an array to a csv row, of the form "1,2,3,4.."
/// </summary>
/// <typeparam name="T">The array type</typeparam>
/// <param name="list">The array</param>
/// <returns>A comma delimited string</returns>
public static string ToCSVRow<T>(this T[] list)
{
return string.Join(",", list);
}
/// <summary>
/// Convert a jagged array to csv table, where each row has the form "1,2,3,.."
/// </summary>
/// <param name="array">The array of numbers</param>
/// <returns>A string value</returns>
public static string ToCSV<T>(this T[][] array)
{
return string.Join(Environment.NewLine, array.Select((row) => string.Join(",", row)));
}
На какой части вы застряли? Открытие/создание файла? создавая список, разделенный запятыми? писать в файл? –
В файле Return я не знаю, как создать файл. –
Содержимое файла должно быть 'Byte []', а не 'string [] []'. Посмотрите, как преобразовать строку в массив байтов. –