点击单元格 可以输出行和列,这个功能可以在一些特殊的地方用

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 = "&nbsp;";//如果是NULL则在HTML里面使用一个空格替换之
}
if (obj.ToString() == "")
{
obj = "&nbsp;";
}
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();
}

最新文章

  1. JavaScript中Array类型方法总结
  2. Django 1.9 Post 时候出现 CSRF token missing or incorrect 错误
  3. 【学习笔记】Y2-1-1 Oracle数据库基础
  4. html5 上传头像的裁剪
  5. GJM: Unity3D AssetBundle 手记 [转载]
  6. 新手开发android容易出现的错误(不断更新中...)
  7. AsyncTask的基础讲解
  8. javascript设计模式学习之九——命令模式
  9. ubuntu 14.04 apache maven 安装
  10. 如何在HTML5 图片预览
  11. JAVA HttpsURLConnection 忽略对SSL valid 的验证
  12. Java-反射再学习
  13. Xamarin.Android中使用android:onClick=&quot;xxx&quot;属性
  14. .net SMTP发送Email 更新(可带附件)
  15. pt-heartbeat监控延时
  16. copy-on-write学习
  17. Window文件目录挂载(mount)到linux系统目录下
  18. Java多线程编程核心技术
  19. SSE图像算法优化系列十七:多个图像处理中常用函数的SSE实现。
  20. Docker学习笔记【二】

热门文章

  1. SpringBootSecurity学习(25)前后端分离版之OAuth2.0 令牌中继
  2. asp获取access数据库中的一条随机记录
  3. ASP.NET 异步编程之Async await
  4. Django---Django的中间件
  5. 原生js实现模块来回拖拽效果
  6. 原生JS实现前端动画框架
  7. MongoDB常用数据库命令第二集
  8. python3常用的内置函数
  9. Mysql 控制结构初识
  10. AM335X UBOOT(以UART为例分析UBOOT主要流程)