添加引用

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. 大数据时代之hadoop(四):hadoop 分布式文件系统(HDFS)

    分布式文件系统即是网络中多台计算机组合在一起提供一个统一存储及管理的系统. Hadoop提供了一个文件系统接口和多个分布式文件系统实现,其中比较重要的就是HDFS(Hadoop Distributed ...

  2. 《JS权威指南学习总结--6.8对象的三个属性》

    内容要点: 每一个对象都有与之相关的原型(prototype).类(class)和可扩展性 一.原型属性 1.对象的原型属性是用来继承属性的,这个属性是如此重要,以至于我们经常把 "0的原型 ...

  3. Node.js:常用工具util

    概要:本篇博客的主要内容是介绍node.js的常用工具util. 1.util.inherits util.inherits(constructor,superConstructor)是一个实现对象间 ...

  4. Linux中kettle连接hadoop并传数据(5)

    http://wiki.pentaho.com/display/BAD/Loading+Data+into+HDFS 新建job

  5. POCO系列之——延迟加载

    当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体仅仅拥有一个相关的子实体,但是,多数情况下,你可能只需要加载部分数据,或者你喜欢 ...

  6. createThread和_beginthreadex区别

    摘自:http://blog.csdn.net/morewindows/article/details/7421759 CreateThread()函数是Windows提供的API接口,在C/C++语 ...

  7. LeetCode OJ combine 3

    public class Solution { public List<List<Integer>> combinationSum3(int k, int n) { retur ...

  8. LeetCode OJ 53. Maximum Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  9. SQL 列提取组成字符串

    SELECT BussinessNo = STUFF(REPLACE(REPLACE((SELECT N.business_no FROM T_delegate_list N WHERE N.g_mo ...

  10. SharePoint2013基于Form(FBA)的AD认证登陆

    来源于:http://www.haogongju.net/art/1964313 1. 使用SharePoint2013实现基于AD的Form认证,首先创建一个Web Application,步骤如下 ...