---
title: "Write Data in EXCEL, CSV And XML File Using C#"  
description: "In this blog I am going to explain how to write data in EXCEL, CSV, and XML file by using C#.·    Import the Microsoft.Office.Interop.Excel.dll and in"  
author: "Chris Anderson"  
published: 2011-10-17  
updated: 2014-09-18  
canonical: https://www.mindstick.com/blog/257/write-data-in-excel-csv-and-xml-file-using-c-sharp  
category: "c#"  
tags: ["c#"]  
reading_time: 2 minutes  

---

# Write Data in EXCEL, CSV And XML File Using C#

In this [blog](https://www.mindstick.com/articles/12705/myths-and-misconception-about-blog) I am going to [explain](https://www.mindstick.com/forum/157854/what-is-system-debugging-explain-some-system-debugging-tools-used-in-modern-computer-systems) how to write [data in EXCEL](https://answers.mindstick.com/qa/96531/is-it-possible-to-make-pivot-table-using-multiple-sources-of-data-in-excel), CSV, and [XML file](https://www.mindstick.com/articles/75/how-to-read-and-write-xml-file-through-c-sharp) by using C#.

· [Import](https://www.mindstick.com/blog/294/how-to-import-or-export-sql-server-table-data-in-ms-excel-sheet-using-c-sharp-code) the Microsoft.Office.Interop.Excel.dll and inherit it in [your application](https://www.mindstick.com/forum/34702/please-tell-me-what-is-cross-site-scripting-and-how-is-it-harmful-for-your-application). For e.g.

using Microsoft.Office.Interop.Excel or using Excel=Microsoft.Office.Interop.Excel

Inherit System.IO namespace. For e.g. using System.IO

##### Following code demonstrate how to write Data in XML file from dataset:

```
 DataSet ds = new DataSet(); da.Fill(ds, "products"); DataTable dt = ds.Tables["products"];dt.WriteXml(@"d:\rohit\File1.xml");
```

##### Following code demonstrate how to write Data in EXCEL file from

##### dataset:

```
DataSet ds = new DataSet();da.Fill(ds, "products");DataTable dt = ds.Tables["products"];object missing = Type.Missing;object misValue = System.Reflection.Missing.Value;Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Workbook wb = excel.Workbooks.Add();Microsoft.Office.Interop.Excel.Worksheet ws = wb.Sheets[1] as Microsoft.Office.Interop.Excel.Worksheet;int rowCount = 1;foreach (DataRow dr in dt.Rows){   rowCount += 1;   for (int i = 1; i < dt.Columns.Count + 1; i++)   {        // Add the header the first time through         if (rowCount == 2)        {            ws.Cells[1, i] = dt.Columns[i - 1].ColumnName;        }        ws.Cells[rowCount, i] = dr[i - 1].ToString();    } }wb.SaveAs(@"d:\rohit\excelData.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue,                                      misValue, misValue, misValue,                                       Excel.XlSaveAsAccessMode.xlExclusive, misValue,                                      misValue, misValue, misValue, misValue);wb.Close(missing, missing, missing);excel.Quit();
```

##### Following code demonstrate how to write Data in CSV file from dataset:

```
DataSet ds = new DataSet();da.Fill(ds, "products");DataTable dt = ds.Tables["products"];StreamWriter sw = new StreamWriter(@"d:\rohit\csvData.csv", false);// First we will write the headers.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();
```

---

Original Source: https://www.mindstick.com/blog/257/write-data-in-excel-csv-and-xml-file-using-c-sharp

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
