How to export DataTable to HTML format in C#

高洛峰
Release: 2017-01-18 09:48:20
Original
1737 people have browsed it

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));
Copy after login

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");
Copy after login

3. Bind DataGridView

dataGridView1.DataSource=table;
Copy after login

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;
  
}
Copy after login

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 after login

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>");
}
Copy after login

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>
Copy after login

5. Create HTML file

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

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template