-4

Please provide way to export data into excel without any DLL or free open source DLL or any kind of DLL.

Help me programmers,

2 Answers2

1

Write as a csv file which can be opened directly by Excel.

  DataTable dt = new DataTable();
        dt.Columns.Add("Agent");
        dt.Columns.Add("Product1");
        dt.Columns.Add("Product2");
        DataRow dr = dt.NewRow();
        dr[0] = "AA";
        dr[1] = 7;
        dr[2] = 5;
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr[0] = "BB";
        dr[1] = 5;
        dr[2] = 6;
        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr[0] = "BB";
        dr[1] = 2;
        dr[2] = 3;
        dt.Rows.Add(dr);

        StringBuilder sb = new StringBuilder();

        string[] columnNames = dt.Columns.Cast<DataColumn>().
                                          Select(column => column.ColumnName).
                                          ToArray();
        sb.AppendLine(string.Join(",", columnNames));

        foreach (DataRow row in dt.Rows)
        {
            string[] fields = row.ItemArray.Select(field => field.ToString()).
                                            ToArray();
            sb.AppendLine(string.Join(",", fields));
        }

        File.WriteAllText(@"C:\Users\Desktop\test.csv", sb.ToString());

above code can be used for exporting data to csv , which can be opened directly by excel.

Dah Sra
  • 4,107
  • 3
  • 30
  • 69
0

You export your data to a csv file which Excel is able to open. A very basic example is shown below.

If you are after a non-free library than you can have a look at http://www.gemboxsoftware.com/spreadsheet/overview - it looks like they offer a non-free version of their exporter.



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class Program
{
    class MyClass
    {
        public MyClass(string a, string b)
        {
            A = a;
            B = b;
        }

        public string A { get; private set; }
        public string B { get; private set; }
    }

    public static void Main()
    {
        var myData = new List();
        myData.Add(new MyClass("A1", "B1"));
        myData.Add(new MyClass("A2", "B2"));
        using (var writer = new System.IO.StreamWriter("myFile.txt"))
        {
            foreach (var row in myData)
            {
                string text = string.Format("{0},{1}", row.A, row.B);
                writer.WriteLine(text);
            }
        }
    }
 }

tymtam
  • 31,798
  • 8
  • 86
  • 126