• C# DataTable转换为Html


            /// <summary>
            /// DataTable 转换为 Html
            /// </summary>
            /// <param name="dt"></param>
            /// <returns></returns>
            public 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();
            }
  • 相关阅读:
    Vs2017添加引用时报错未能正确加载“ReferenceManagerPackage”包。
    Java中数组复制的几种方法
    Java类的执行顺序
    JVM——代空间的划分
    JVM——垃圾收集器
    Java异常体系结构
    设计模式——单例模式
    Java多线程系列——原子类的实现(CAS算法)
    乐观锁与悲观锁
    Java中Volatile关键字详解
  • 原文地址:https://www.cnblogs.com/guxingy/p/11164208.html
Copyright © 2020-2023  润新知