Please provide way to export data into excel without any DLL or free open source DLL or any kind of DLL.
Help me programmers,
Please provide way to export data into excel without any DLL or free open source DLL or any kind of DLL.
Help me programmers,
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.
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);
}
}
}
}