Tuesday 2 February 2010

Export Tablular data in CSV format in C#

protected void Page_Load(object sender, EventArgs e)
{
string strconn = "server=192.168.1.1;database=db;uid=sa;pwd=sa";
SqlConnection conn = new SqlConnection(strconn);
SqlDataAdapter da = new SqlDataAdapter("select * from tablename", conn);
DataSet ds = new DataSet();
da.Fill(ds, "Tablename");
DataTable dt = ds.Tables["Tablename"];
CreateCSVFile(dt, "D:csvData.csv");
}
public void CreateCSVFile(DataTable dt, string strFilePath)
{

StreamWriter sw = new StreamWriter(strFilePath, false);
int iColCount = dt.Columns.Count;
for (int i = 0; i < iColCount; i++)
{
sw.Write(dt.Columns[i]);
if (i < iColCount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
// Now write all the rows.
foreach (DataRow dr in dt.Rows)
{
for (int i = 0; i < iColCount; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
sw.Write(dr[i].ToString());
}
if (i < iColCount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
}
sw.Close();

/*
string mFileName = @"E:SonarishWeights_updation";
string filename = "Products_YPT_All Items.csv";
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + mFileName + "; Extended Properties='text;HDR=Yes'";
OleDbConnection ExcelConnection = new OleDbConnection(conn);
OleDbCommand ExcelCommand = new OleDbCommand("SELECT * FROM [" + filename + "]", ExcelConnection);
OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand);
ExcelConnection.Open();
System.Data.DataSet dataSetFromCSV = new DataSet();
ExcelAdapter.Fill(dataSetFromCSV);
ExcelConnection.Close();
if (dataSetFromCSV.Tables[0].Rows.Count > 0)
{

for (int i = 0; i < dataSetFromCSV.Tables[0].Rows.Count; i++)
{
DataRow drexcel = dataSetFromCSV.Tables[0].Rows[i];

string itemname = drexcel[0].ToString();
string weight = drexcel[27].ToString();
if (weight == "")
{
weight = "NULL";
query = "UPDATE InventoryUnitMeasure SET WeightInKilograms=" + weight + " FROM InventoryItem where InventoryItem.ItemCode=InventoryUnitMeasure.ItemCode and InventoryItem.ItemName='" + itemname + "'";
}
else
{
query = "UPDATE InventoryUnitMeasure SET WeightInKilograms=" + weight + " FROM InventoryItem where InventoryItem.ItemCode=InventoryUnitMeasure.ItemCode and InventoryItem.ItemName='" + itemname + "'";
}
SqlCommand com = new SqlCommand(query, con);
com.ExecuteNonQuery();
}

}*/
}

No comments:

Post a Comment