using System.IO;
using System.Windows.Forms;
using System.Xml;
public static void ExportToCSV(DataGridView dataGrid, string exportPath)
{
using (StreamWriter streamWriter = new StreamWriter(exportPath, false))
{
foreach (DataGridViewColumn column in dataGrid.Columns)
{
streamWriter.Write(column.HeaderText);
if (column.Index < (dataGrid.Columns.Count - 1))
streamWriter.Write(",");
}
streamWriter.Write(streamWriter.NewLine);
foreach (DataGridViewRow row in dataGrid.Rows)
{
for (int i = 0; i < row.Cells.Count; i++)
{
streamWriter.Write(row.Cells[i].Value);
if (i < (row.Cells.Count - 1))
streamWriter.Write(",");
}
streamWriter.Write(streamWriter.NewLine);
}
streamWriter.Close();
}
}
public static void ExportToHtml(DataGridView dataGrid, string exportPath)
{
using (StreamWriter streamWriter = new StreamWriter(exportPath, false))
{
.
streamWriter.WriteLine("<html>");
streamWriter.WriteLine("<head>");
streamWriter.WriteLine("<title></title>");
streamWriter.WriteLine("</head>");
streamWriter.WriteLine("<body>");
streamWriter.WriteLine("<table border=\"1\">");
streamWriter.Write("<tr>");
foreach (DataGridViewColumn column in dataGrid.Columns)
{
streamWriter.Write(String.Format("<th>{0}</th>", column.HeaderText));
}
streamWriter.Write("</tr>");
streamWriter.Write(Environment.NewLine);
foreach (DataGridViewRow row in dataGrid.Rows)
{
streamWriter.Write("<tr>");
for (int i = 0; i < row.Cells.Count; i++)
{
streamWriter.Write(String.Format("<td>{0}</td>", row.Cells[i].Value));
}
streamWriter.Write("</tr>");
streamWriter.Write(Environment.NewLine);
}
streamWriter.WriteLine("</table>");
streamWriter.WriteLine("</body>");
streamWriter.WriteLine("</html>");
streamWriter.Close();
}
}
public static void ExportToXml(DataGridView dataGrid, string exportPath)
{
XmlDocument xmlDocument = new XmlDocument();
XmlElement xmlElement;
XmlNode xmlNode;
XmlText xmlText;
xmlNode = xmlDocument.CreateNode(XmlNodeType.XmlDeclaration, String.Empty, String.Empty);
xmlDocument.AppendChild(xmlNode);
xmlElement = xmlDocument.CreateElement(String.Empty, "Table", String.Empty);
xmlDocument.AppendChild(xmlElement);
XmlNode table = xmlDocument.ChildNodes[1];
foreach (DataGridViewRow row in dataGrid.Rows)
{
XmlElement tableRow = xmlDocument.CreateElement("Row");
for (int i = 0; i < row.Cells.Count; i++)
{
xmlElement = xmlDocument.CreateElement(dataGrid.Columns[i].HeaderText.Replace(" ", ""));
xmlText = xmlDocument.CreateTextNode(row.Cells[i].Value.ToString());
xmlElement.AppendChild(xmlText);
tableRow.AppendChild(xmlElement);
}
table.AppendChild(tableRow);
}
xmlDocument.Save(exportPath);
}
This article was published on the 26th November 2007
Last Edited 22nd July 2008