C#中DataTable匯出為HTML格式的方法

高洛峰
發布: 2017-01-18 09:48:20
原創
1671 人瀏覽過

前言

在C#中DataTable導出資料的時候,我們需要HTML格式的輸出資料, 這時候就需要使用將DataTable導出為到HTML格式的方法了,以下程式碼就可以幫助我們達到目的。

首先,我們要綁定DataTable和 DataGridView。

一、通過DataTable綁定DataGridView

1. 創建DataTable,添加列

DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("NAME", typeof(string));
table.Columns.Add("CITY", typeof(string));
登入後複製

2. 再添加行

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. 綁定DataGridView

dataGridView1.DataSource=table;
登入後複製

4. 運行結果

二、將DataTable 匯出為HTML

我寫了一組程式碼來為每個DataTable建立HTML文字。你可以在你的專案中直接引用。

程式碼如下:

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;
  
}
登入後複製

   

三、程式碼理解

我們建立了一個函數,使用DataTable作為參數。

接著用stringbuilder類別建立動態的HTML文字。

輸出結果與DataGridView中的行和列數量相同。

在HTML中建立欄位。

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

複製數據,以下程式碼就會在DataTable中建立相同數量的行,並將資料複製到HTML行中。

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>");
}
登入後複製

四、執行上面的程式碼後得到如下HTML文字

<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>
登入後複製

五、建立HTML檔

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

、運行結果

五、建立HTML檔

rrreeeC#中DataTable匯出為HTML格式的方法

、運行結果

導出為HTML格式的全部內容了,希望本文的內容對大家的學習或工作能帶來一定的幫助,如果有疑問大家可以留言交流。

更多C#中DataTable導出為HTML格式的方法相關文章請注意PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!