• 常用方法 DataTable转换为Html


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

    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 - 1;
                for (int j = 0; j <= rowsCount; j++)
                {
                    sb.Append("<tr>");
                    sb.Append("<td>" + ((int)(j + 1)).ToString() + "</td>");
                    for (int k = 0; k <= iColsCount - 1; 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();
            }
  • 相关阅读:
    结束咯
    在Ubuntu上不能使用PPA下载
    月亮+大环
    piano
    花都论坛,广州花都本地生活
    LLVM的调用协议与内存对齐
    SALVIA 0.5.2优化谈
    LLVM随笔
    OS之争:永不停歇的战争(二,完结)
    OS之争:永不停歇的战争(一)
  • 原文地址:https://www.cnblogs.com/guxingy/p/11362711.html
Copyright © 2020-2023  润新知