Home >Backend Development >C#.Net Tutorial >How to export DataTable to HTML format in C#

How to export DataTable to HTML format in C#

高洛峰
高洛峰Original
2017-01-18 09:48:201743browse

Preface

When exporting data from DataTable in C#, we need output data in HTML format. At this time, we need to use the method of exporting DataTable to HTML format. The following code can help us achieve this. Purpose.

First, we need to bind DataTable and DataGridView.

1. Bind DataGridView through DataTable

1. Create DataTable and add columns

DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("NAME", typeof(string));
table.Columns.Add("CITY", typeof(string));

2. Add rows

table.Rows.Add(111, "Devesh", "Ghaziabad");
table.Rows.Add(222, "ROLI", "KANPUR");
table.Rows.Add(102, "ROLI", "MAINPURI");
table.Rows.Add(212, "DEVESH", "KANPUR");

3. Bind DataGridView

dataGridView1.DataSource=table;

4. Run result

2. Export DataTable to HTML

I wrote a set of code to create HTML text for each DataTable. You can reference it directly in your project.

The code is as follows:

protected string ExportDatatableToHtml(DataTable dt)
{
StringBuilder strHTMLBuilder = new StringBuilder();
strHTMLBuilder.Append("<html >");
strHTMLBuilder.Append("<head>");
strHTMLBuilder.Append("</head>");
strHTMLBuilder.Append("<body>");
strHTMLBuilder.Append("<table border=&#39;1px&#39; cellpadding=&#39;1&#39; cellspacing=&#39;1&#39; bgcolor=&#39;lightyellow&#39; style=&#39;font-family:Garamond; font-size:smaller&#39;>");
  
strHTMLBuilder.Append("<tr >");
foreach (DataColumn myColumn in dt.Columns)
{
strHTMLBuilder.Append("<td >");
strHTMLBuilder.Append(myColumn.ColumnName);
strHTMLBuilder.Append("</td>");
  
}
strHTMLBuilder.Append("</tr>");
  
  
foreach (DataRow myRow in dt.Rows)
{
  
strHTMLBuilder.Append("<tr >");
foreach (DataColumn myColumn in dt.Columns)
{
strHTMLBuilder.Append("<td >");
strHTMLBuilder.Append(myRow[myColumn.ColumnName].ToString());
strHTMLBuilder.Append("</td>");
  
}
strHTMLBuilder.Append("</tr>");
}
  
//Close tags.
strHTMLBuilder.Append("</table>");
strHTMLBuilder.Append("</body>");
strHTMLBuilder.Append("</html>");
  
string Htmltext = strHTMLBuilder.ToString();
  
return Htmltext;
  
}

3. Code understanding

We created a function that uses DataTable as a parameter.

Then use the stringbuilder class to create dynamic HTML text.

The output result is the same as the number of rows and columns in the DataGridView.

Create columns in HTML.

foreach (DataColumn myColumn in dt.Columns)
{
strHTMLBuilder.Append("<td >");
strHTMLBuilder.Append(myColumn.ColumnName);
strHTMLBuilder.Append("</td>");
  
}

Copy the data, the following code will create the same number of rows in the DataTable and copy the data into the HTML rows.

foreach (DataRow myRow in dt.Rows)
{
  
strHTMLBuilder.Append("<tr >");
foreach (DataColumn myColumn in dt.Columns)
{
strHTMLBuilder.Append("<td >");
strHTMLBuilder.Append(myRow[myColumn.ColumnName].ToString());
strHTMLBuilder.Append("</td>");
  
}
strHTMLBuilder.Append("</tr>");
}

4. After executing the above code, you will get the following HTML text

<html >
<head>
</head>
<body>
<table border=&#39;1px&#39; cellpadding=&#39;1&#39; cellspacing=&#39;1&#39; bgcolor=&#39;lightyellow&#39; style=&#39;font-family:Garamond; font-size:smaller&#39;>
<tr >
<td >ID</td>
<td >NAME</td>
<td >CITY</td>
</tr><tr >
<td >111</td><td >Devesh</td>
<td >Ghaziabad</td></tr>
<tr ><td >222</td><td >ROLI</td>
<td >KANPUR</td></tr><tr >
<td >102</td><td >ROLI</td>
<td >MAINPURI</td></tr><tr >
<td >212</td><td >DEVESH</td>
<td >KANPUR</td></tr></table>
</body>
</html>

5. Create HTML file

string HtmlBody = ExportDatatableToHtml(table)
System.IO.File.WriteAllText(@"c:\abc.HTML", HtmlBody);

6. Running results

How to export DataTable to HTML format in C#

Summary

The above is all about exporting DataTable to HTML format in C#. I hope this article will be helpful. The content can be helpful to everyone’s study or work. If you have any questions, you can leave a message to communicate.

For more related articles on how to export DataTable in C# to HTML format, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn