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

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

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

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

 

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

 

 

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

 1      WebRequest wr =  WebRequest.Create(psUrl);
 2      HttpWebRequest oRequest  =  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 

 

  相关文章:所见即所得的Excel报表生成(二)——从Html table到Excel Cell

 

转载于:https://www.cnblogs.com/isun/archive/2011/03/23/1992594.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值