Convert DataGridView to HTML Table

February 24, 2014 at 3:27 PMAdmin


Whenever you want to convert the data in DataGridView you can use the following method , the process is very easy , put this method in any common class in your application an call it , it will return a string contain the HTML Table



public static string ConvertToHtmlTable(DataGridView targetTable)

{

    string myHtmlFile = "";

 

    if (targetTable == null)

    {

throw new System.ArgumentNullException("targetTable");

    }

 

    StringBuilder myBuilder = new StringBuilder();

 

    myBuilder.Append("<html");

    myBuilder.Append("<head>");

    myBuilder.Append("<title>");

    myBuilder.Append("Page-");

    myBuilder.Append(Guid.NewGuid().ToString());

    myBuilder.Append("</title>");

    myBuilder.Append("</head>");

    myBuilder.Append("<body>");

    myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");

    myBuilder.Append("style='border: solid 1px Silver;'>");

 

    myBuilder.Append("<tr align='left' valign='top'>");

 

    foreach (DataGridViewColumn myColumn in targetTable.Columns)

    {

if (CanExport(myColumn.HeaderText))

{

    myBuilder.Append("<td align='left' valign='top'>");

    myBuilder.Append(myColumn.HeaderText);

    myBuilder.Append("</td>");

}

    }

 

    myBuilder.Append("</tr>");

 

    //Add the data rows.

    foreach (DataGridViewRow myRow in targetTable.Rows)

    {

myBuilder.Append("<tr align='left' valign='top'>");

 

foreach (DataGridViewColumn myColumn in targetTable.Columns)

{

    if (CanExport(myColumn.HeaderText))

    {

myBuilder.Append("<td align='left' valign='top'>");

myBuilder.Append(myRow.Cells[myColumn.HeaderText].Value.ToString());

myBuilder.Append("</td>");

    }

}

 

myBuilder.Append("</tr>");

    }

 

    //Close tags.

    myBuilder.Append("</table>");

    myBuilder.Append("</body>");

    myBuilder.Append("</html>");

 

    //Get the string for return.

    myHtmlFile = myBuilder.ToString();

 

    return myHtmlFile;

}

Posted in: .NET | IT

Tags: