Explanation:
We will make an account on creating an HTML Table from a DataTable. This can be very usefull in some cases when a small Data is need be displayed.
public static string ConvertToHtmlFile(DataTable sentDataTable)
{
// Check if the Sent DataTable is not empty or a Null
if (sentDataTable == null)
{
throw new System.ArgumentNullException("sentDataTable");
}
//Get a worker object.
StringBuilder myStringBuilder = new StringBuilder();
//Open tags and write the top portion.
myStringBuilder.Append("<html xmlns='http://www.w3.org/1999/xhtml'>");
myStringBuilder.Append("<head>");
myStringBuilder.Append("<title>");
myStringBuilder.Append("Page-");
myStringBuilder.Append(Guid.NewGuid().ToString());
myStringBuilder.Append("</title>");
myStringBuilder.Append("</head>");
myStringBuilder.Append("<body>");
myStringBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
myStringBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>");
//Add the headings row.
myStringBuilder.Append("<tr align='left' valign='top'>");
foreach (DataColumn myColumn in sentDataTable.Columns)
{
myStringBuilder.Append("<td align='left' valign='top'>");
myStringBuilder.Append(myColumn.ColumnName);
myStringBuilder.Append("</td>");
}
myStringBuilder.Append("</tr>");
//Add the data rows.
foreach (DataRow myRow in sentDataTable.Rows)
{
myStringBuilder.Append("<tr align='left' valign='top'>");
foreach (DataColumn myColumn in sentDataTable.Columns)
{
myStringBuilder.Append("<td align='left' valign='top'>");
myStringBuilder.Append(myRow[myColumn.ColumnName].ToString());
myStringBuilder.Append("</td>");
}
myStringBuilder.Append("</tr>");
}
//Close tags.
myStringBuilder.Append("</table>");
myStringBuilder.Append("</body>");
myStringBuilder.Append("</html>");
return myStringBuilder.ToString();
}
|