文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>所见即所得的Excel报表生成(一)——获取Html table结构

所见即所得的Excel报表生成(一)——获取Html table结构

时间:2011-03-23  来源:iSun

  最近做一个小的报表系统,功能本身没什么。最后客户要求一个打印功能,所谓打印,就是按照页面上报表的样子,一模一样的为其生成Excel文件。

  再也不想为了构造结构一样的Excel表格而再次考虑繁琐数据逻辑了!于是乎冒出了这样的一个想法:我要是能获得页面上的报表table,那么只要分析其结构,不就可以构造出相应的Excel表格来吗?

  思来想去,觉得这应该是一条可以走的通的路,于是便着手寻找实现的办法。终于,发现WebRequest和WebResponse,其分别代表一个Web请求和服务器基于请求的回应,而这个回应包含服务器返回的数据流,从数据流便可获取想要的报表table。

 

  整个Excel生成功能的思路如下图所示:

 

 

  涉及WebRequest、WebResponse的核心代码如下:

 1             WebRequest wr = WebRequest.Create(psUrl);
 2             HttpWebRequest oRequest < /span>= wr as HttpWebRequest;
 3             if (null == oRequest) return null;
 4 
 5             HttpWebResponse oResponse  ;= (HttpWebResponse) oRequest.GetResponse();
 6             string sResponseContent = string.Empty;
 7             if (oResponse.StatusCode == HttpStatusCode.OK)
 8             { 
 9                 using (StreamReader sr = new StreamReader(oResponse.GetResponseStream(),Encoding.UTF8))
10                 {
11                    ;  sResponseContent = sr.ReadToEnd();      //sResponseContent,保存了服务器返回的数据流字符串内容
12                    ;  sr.Close();
13                 }
14             }
15             oResponse.Close();

 

  特别需要说明的是,在从数据流向字符串转化的过程中,其内会残留许多\r\t之类的转义字符,我们需要将其剔除。

1              sResponseContent  = Regex.Replace (sResponseContent, "[\n\r\t] ", "");

 

  本篇至此,下篇将着重介绍table到Excel cell的转化过程。

 

  附示例代码:ExcelGenerator.rar 

 

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载