添加引用

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

  1. protected void Export(string content,string file)
  2. {
  3. HtmlDocument doc = new HtmlDocument();
  4.  
  5. doc.LoadHtml(content);
  6. HtmlNode table = doc.DocumentNode.SelectSingleNode("//table");
  7. DataTable dttable = new DataTable();
  8. HtmlNode row = table.SelectSingleNode("//tr[@class=\"title\"]");
  9.  
  10. string name = string.Empty;
  11. foreach (HtmlNode cell in row.SelectNodes("th|td"))
  12. {
  13. name = cell.InnerText.Replace("\r\n", "").Trim();
  14. dttable.Columns.Add(name); // create columns from th
  15. }
  16.  
  17. foreach (var rows in doc.DocumentNode.SelectNodes("//tr[td]"))
  18. {
  19. dttable.Rows.Add(rows.SelectNodes("td").Select(td => td.InnerText.Replace("\r\n", "").Trim()).ToArray());
  20. }
  21. //return dttable;
  22. dttable.Rows.RemoveAt(0);
  23. if (dttable.Columns.Contains("操作"))
  24. dttable.Columns.Remove("操作");
  25. GemBox.ExcelLite.ExcelFile ef = SaveData.DataTableToExcel(dttable);
  26. Response.ContentType = "application/vnd.ms-excel";
  27. Response.AddHeader("Content-Disposition", "attachment; filename=" + file);
  28.  
  29. //string path = AppDomain.CurrentDomain.BaseDirectory + "xls_view\\" + file;
  30. string path = string.Format("{0}xls_report\\{1}\\{2}", AppDomain.CurrentDomain.BaseDirectory, GetAdmin.cid, GetAdmin.account);
  31. if (!System.IO.Directory.Exists(path))
  32. {
  33. System.IO.Directory.CreateDirectory(path);
  34. }
  35.  
  36. path = System.IO.Path.Combine(path, file);
  37. ef.SaveXls(path);
  38. byte[] data = null; ;
  39. using (System.IO.Stream str = new System.IO.FileStream(path, System.IO.FileMode.Open))
  40. {
  41. data = new byte[str.Length];
  42. str.Read(data, 0, data.Length);
  43. }
  44. this.Response.OutputStream.Write(data, 0, data.Length);
  45.  
  46. }

  

asp.net html table to DataTable的更多相关文章

  1. Asp.net SqlDataReader转成Datatable

    Asp.net SqlDataReader转成Datatable 所属栏目:Asp.net 编程 | 发布日期:2013年04月05日 | 点击:517 次 内容摘要:Asp.net 数据存储,呈现方 ...

  2. ASP.NET给Table动态添加删除行,并且得到控件的值

    ASP.NET给Table动态添加控件并且得到控件的值 由于跟老师做一个小的项目,可是我自己又不太懂js,所以一直为动态建立表格并且能动态的取值和赋值感到苦恼.起初在网上找到了一些js资源,解决了动态 ...

  3. DataTables warning: table id=data-table - Requested unknown parameter '3' for row 0.

    本文为博主原创,未经允许,不得转载: 在使用jquery 的datatable时,报错在页面弹出弹出框,并提示以下内容: DataTables warning: table id=data-table ...

  4. DataTables warning: table id=dataTable - Requested unknown parameter 'acceptId' for row 0. For more

    重点内容 DataTables warning: table id=dataTable - Requested unknown parameter 'acceptId' for row 0. For ...

  5. ASP.NET MVC和jQuery DataTable整合

    本文包含代码示例说明如何jQuery插件开发者可以集成到ASP.NET MVC应用程序. 下载源代码- 87.4 KB Introduction The jQuery DataTables plug- ...

  6. ASP.Net:Table类的使用

    在做Asp.Net的时候,很多情况下数据的绑定都是使用GridView或者我之前提到的ListView,但是这两个适合用于数据的绑定,而有些时候,数据需要在后台进行处理,例如数据据内地某一条数据的特殊 ...

  7. ASP.Net【如何合并DataTable,并且去重复方法】

    虽然DataTable.Merge可以很好的实现,但以下代码写出来更好理解 DataTable DataTable1 = new DataTable(); DataTable DataTable2 = ...

  8. ASP.NET前台table通过Ajax获取绑定后台查询的json数据

    上一篇<ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据>写了前台提交数据后台保存到数据库,数据处理以后用户肯定要查询.接下来就写一个前台table通过ajax  J ...

  9. ASP如何将table导出EXCEL表格

    网页导出excel表格非常常用,对于一些加载<table>的数据网页,经常会用到这种功能,下面和大家分享一下ASP如何导出EXCEL表格 工具/原料   ASP编辑器 方法/步骤     ...

随机推荐

  1. Linux下安装awstats日志统计分析

    1. 下载安装 cd /data/software wget http://prdownloads.sourceforge.net/awstats/awstats-7.0-1.noarch.rpm 2 ...

  2. 一个简单的jQuery插件开发实例

    两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...

  3. ZOJ 1655 FZU 1125 Transport Goods

    迪杰斯特拉最短路径. 1.every city must wait till all the goods arrive, and then transport the arriving goods t ...

  4. Effective JavaScript :第五章

    1.使用Object的直接实例构造轻量级的字典 字典就是可变长的字符串与值得映射集合.JavaScript甚至提供了枚举一个对象属性名的利器——for...in循环. var dict = { ali ...

  5. POJ 2054 Color a Tree#贪心(难,好题)

    题目链接 代码借鉴此博:http://www.cnblogs.com/vongang/archive/2011/08/19/2146070.html 其中关于max{c[fa]/t[fa]}贪心原则, ...

  6. BZOJ3963: [WF2011]MachineWorks

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3963 CDQ分治加凸包.具体看这篇题解:http://www.acmerblog.com/ ...

  7. Java实现二分查找算法

    Java程序员总该玩点基本的算法. 1.前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序 2.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中 ...

  8. 一步一步学EF系列【6、IOC 之AutoFac】

    前言 之前的前5篇作为EF方面的基础篇,后面我们将使用MVC+EF 并且使用IOC ,Repository,UnitOfWork,DbContext来整体来学习.因为后面要用到IOC,所以本篇先单独先 ...

  9. samba server 设置

     samba server  设置yum install samba.x86_64systemctl start smb.servicesystemctl enable smb.servicesamb ...

  10. phabricator 搭建

    os:debian7 Installation Guide :https://secure.phabricator.com/book/phabricator/ $ cd /data # 安装目录 da ...