• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C#中DataTable导出为HTML格式的方法

c# 搞代码 4年前 (2022-01-09) 32次浏览 已收录 0个评论

前言

在C#中DataTable导出数据的时候,我们需要HTML格式的输出数据, 这时候就需要使用将DataTable导出为到HTML格式的方法了,以下代码就可以帮助我们达到目的。

首先,我们要绑定DataTable和 DataGridView。

一、通过DataTable绑定DataGridView

1. 创建DataTable,添加列

DataTable table = new DataTable();table.Columns.Add("ID", typeof(<p style="color:transparent">本文来源gao!%daima.com搞$代*!码$网3</p>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格式的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

更多C#中DataTable导出为HTML格式的方法相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C#中DataTable导出为HTML格式的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址