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

來源:互聯網
上載者:User
前言

在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='1px' cellpadding='1' cellspacing='1' bgcolor='lightyellow' style='font-family:Garamond; font-size:smaller'>");  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='1px' cellpadding='1' cellspacing='1' bgcolor='lightyellow' style='font-family:Garamond; font-size:smaller'><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);

六、運行結果

總結

以上就是關於C#中將DataTable匯出為HTML格式的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.