常用方法 DataTable转换为Html
2024-09-12 20:12:22
点击单元格 可以输出行和列,这个功能可以在一些特殊的地方用
public static string GetHtmlString(DataTable dt)
{
StringBuilder sb = new StringBuilder();
sb.Append("<html><head>");
sb.Append("<title>Excel转换为Table</title>");
sb.Append("<meta http-equiv='content-type' content='text/html; charset=GB2312'> ");
sb.Append("<style type=text/css>");
sb.Append("td{font-size: 9pt;border:solid 1 #000000;}");
sb.Append("table{padding:3 0 3 0;border:solid 1 #000000;margin:0 0 0 0;BORDER-COLLAPSE: collapse;}");
sb.Append("</style>");
sb.Append("</head>");
sb.Append("<body>");
sb.Append("<table cellSpacing='0' cellPadding='0' width ='100%' border='1'>");
sb.Append("<tr valign='middle'>");
sb.Append("<td><b></b></td>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<td><b><span>" + column.ColumnName + "</span></b></td>");
}
sb.Append("</tr>");
int iColsCount = dt.Columns.Count;
int rowsCount = dt.Rows.Count - ;
for (int j = ; j <= rowsCount; j++)
{
sb.Append("<tr>");
sb.Append("<td>" + ((int)(j + )).ToString() + "</td>");
for (int k = ; k <= iColsCount - ; k++)
{
sb.Append("<td>");
object obj = dt.Rows[j][k];
if (obj == DBNull.Value)
{
obj = " ";//如果是NULL则在HTML里面使用一个空格替换之
}
if (obj.ToString() == "")
{
obj = " ";
}
string strCellContent = obj.ToString().Trim();
sb.Append("<span>" + strCellContent + "</span>");
sb.Append("</td>");
}
sb.Append("</tr>");
}
sb.Append("</table>"); //点击单元格 输出 行和列
sb.Append("<script src='https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js'></script>");
sb.Append("<script type='text/javascript'>");
sb.Append("$('table tbody').on('click', 'td', function (e) {");
sb.Append("var row = $(this).parent().prevAll().length-1 ;");
sb.Append("var column = $(this).prevAll().length-1 ;");
sb.Append("var str = 'dt.Rows[' + row + '][' + column + '].ToString()';");
sb.Append("console.log(str);alert(str);");
sb.Append("});");
sb.Append("</script>"); sb.Append("</body></html>");
return sb.ToString();
}
最新文章
- JavaScript中Array类型方法总结
- Django 1.9 Post 时候出现 CSRF token missing or incorrect 错误
- 【学习笔记】Y2-1-1 Oracle数据库基础
- html5 上传头像的裁剪
- GJM: Unity3D AssetBundle 手记 [转载]
- 新手开发android容易出现的错误(不断更新中...)
- AsyncTask的基础讲解
- javascript设计模式学习之九——命令模式
- ubuntu 14.04 apache maven 安装
- 如何在HTML5 图片预览
- JAVA HttpsURLConnection 忽略对SSL valid 的验证
- Java-反射再学习
- Xamarin.Android中使用android:onClick=";xxx";属性
- .net SMTP发送Email 更新(可带附件)
- pt-heartbeat监控延时
- copy-on-write学习
- Window文件目录挂载(mount)到linux系统目录下
- Java多线程编程核心技术
- SSE图像算法优化系列十七:多个图像处理中常用函数的SSE实现。
- Docker学习笔记【二】