Search code examples
asp.netexcelexport-to-excelexport-to-csv

Export data table to Excel sheet


I want to export data from data table to Excel file. I need to save the file on server. I am using the console application for this project.


Solution

  • Since you haven't mentioned if excel is installed, i recommend EPPlus to create the excel file. It has a convenient method LoadFromDataTable:

    using (var pck = new ExcelPackage())
    {
        var ws = pck.Workbook.Worksheets.Add("Worksheet-Name");
        ws.Cells["A1"].LoadFromDataTable(dataTable1, true, OfficeOpenXml.Table.TableStyles.Medium1);
        using(var fileStream = File.Create(path))
            pck.SaveAs(fileStream);
    }
    

    Edit i've only just seen that you have tagged export-to-csv.

    var lines = dataTable1.AsEnumerable()
        .Select(r => string.Join(",", r.ItemArray));
    string csv = string.Join(Environment.NewLine, lines);
    
    File.AppendAllText(path, csv);