zoukankan      html  css  js  c++  java
  • asp.net html table to DataTable

    添加引用

    http://htmlagilitypack.codeplex.com/downloads/get/437941

    protected void Export(string content,string file)
        {
            HtmlDocument doc = new HtmlDocument();
    
            doc.LoadHtml(content);
            HtmlNode table = doc.DocumentNode.SelectSingleNode("//table");
            DataTable dttable = new DataTable();
            HtmlNode row = table.SelectSingleNode("//tr[@class="title"]");
    
            string name = string.Empty;
            foreach (HtmlNode cell in row.SelectNodes("th|td"))
            {
                name = cell.InnerText.Replace("
    ", "").Trim();
                dttable.Columns.Add(name); // create columns from th
            }
    
            foreach (var rows in doc.DocumentNode.SelectNodes("//tr[td]"))
            {   
                dttable.Rows.Add(rows.SelectNodes("td").Select(td => td.InnerText.Replace("
    ", "").Trim()).ToArray());
            }
            //return dttable;
            dttable.Rows.RemoveAt(0);
            if (dttable.Columns.Contains("操作"))
                dttable.Columns.Remove("操作");
            GemBox.ExcelLite.ExcelFile ef = SaveData.DataTableToExcel(dttable);
            Response.ContentType = "application/vnd.ms-excel";
            Response.AddHeader("Content-Disposition", "attachment; filename=" + file);
    
            //string path = AppDomain.CurrentDomain.BaseDirectory + "xls_view\" + file;
            string path = string.Format("{0}xls_report\{1}\{2}", AppDomain.CurrentDomain.BaseDirectory, GetAdmin.cid, GetAdmin.account);
            if (!System.IO.Directory.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path);
            }
    
            path = System.IO.Path.Combine(path, file);
            ef.SaveXls(path);
            byte[] data = null; ;
            using (System.IO.Stream str = new System.IO.FileStream(path, System.IO.FileMode.Open))
            {
                data = new byte[str.Length];
                str.Read(data, 0, data.Length);
            }
            this.Response.OutputStream.Write(data, 0, data.Length);
    
        }
    

      

  • 相关阅读:
    期中架构实现步骤
    安装centos以及优化步骤
    inotify+rsync实现实时热备
    [转]ubuntu安装vncserver实现图形化访问
    [转]电烙铁的使用小技巧
    彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    解读系统托盘图标隐藏(删除)
    一个小公式帮你轻松将IP地址从10进制转到2进制
    [查阅]Dalvik opcodes
    [查阅]MSIL Instruction Set
  • 原文地址:https://www.cnblogs.com/gxivwshjj/p/3699680.html
Copyright © 2011-2022 走看看