昨天的程菲,今天的刘翔叫人非常心酸,年轻怎能承受如此之重。。。。
数据的导出是项目中经常要实现的功能,就拿最常见的要导出成Excel来说,网上看来看去,都是介绍从Datatable中导出,或是将Datagrid或是Gridview的输出导出,实现大体上又分为调用COM+组件或是利用Response(当然是B/S架构的项目)的输出来做,COM+组件的方式以前在项目中也应用过,但说实话感觉效果并不好,一是布署很麻烦,二是当时记得好像WEB服务器端的有个进程老关不掉,并且还有个问题是服务器端安装的EXCEL版本的不同,在程序中调用的方法传入的参数个数都不相同,真是够郁闷的,但是好处是这种方式当然是最灵活的。
我们还是以一个B/S架构的项目应用来说说导出吧,通用一点儿的还是从数据集往外导出吧,毕竟将Gridview的输出导出来这种方式个人感觉适用性不高,因为大部分情况我们的页面中的运用Gridview都是要牵扯分页的,我们还是直接来做从数据集往外导吧,从DataTable往外导网上很多现成的,但是运用在一个严格分层架构的项目中,还是会有些不爽的,假如我们严格要求我们的项目是标准的三层架构,我们层与层之间传递的是我们的实体对象,我们不传递DataTable这种弱类型的东东,那我们导出的数据源就只能是实体对象集合了,于是,我们需要写一个以实体对象为数据源的导出方法,感觉还是不太完美,比如在参数中“导出列信息”参数的设计,感觉还有更好的方式,呵呵,以后有空再想吧!
贴出我的实现,大家也帮忙看看!
/// 将一组对象导出成EXCEL
/// </summary>
/// <typeparam name="T">要导出对象的类型</typeparam>
/// <param name="objList">一组对象</param>
/// <param name="FileName">导出后的文件名</param>
/// <param name="columnInfo">列名信息</param>
public static void ExExcel<T>(List<T> objList, string FileName, Dictionary<string, string> columnInfo)
{
if (columnInfo.Count == 0) { return; }
if (objList.Count == 0) { return; }
//生成EXCEL的HTML
string excelStr = "";
Type myType = objList[0].GetType();
//根据反射从传递进来的属性名信息得到要显示的属性
List<PropertyInfo> myPro = new List<PropertyInfo>();
foreach (string cName in columnInfo.Keys)
{
PropertyInfo p = myType.GetProperty(cName);
if (p != null)
{
myPro.Add(p);
excelStr += columnInfo[cName] + "\t";
}
}
//如果没有找到可用的属性则结束
if (myPro.Count == 0) { return; }
excelStr += "\n";
foreach (T obj in objList)
{
foreach (PropertyInfo p in myPro)
{
excelStr += p.GetValue(obj, null)+"\t";
}
excelStr += "\n";
}
//输出EXCEL
HttpResponse rs = System.Web.HttpContext.Current.Response;
rs.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
rs.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
rs.ContentType = "application/ms-excel";
rs.Write(excelStr);
rs.End();
}
不记得是什么时候郑智化出的这个专辑啦,当时没有一点儿感觉,还在感叹老郑真是老啦,再也唱不出来《水手》这种旷世经典啦,最近偶而又重听了这首歌,居然越来越喜欢,原来那时候是太小太幼稚,根本听不明白。。。
世界太罗嗦,不分对或错,
象我这样的老百姓,谁会在乎我!
有钱的当老大,没钱的难过活,
就算是看不惯,我又能如何?
爱人离开我,不说为什么,
伤心难过的时候,我学会了喝酒,
每次我都喝醉,可从来不犯错,
明天酒醒以后,我依然是我.
笑容太甜,泪水太咸,
山盟海誓到了最后还是会变,
烦恼太多,未来太远,
何不陪我一起放荡游戏人间.
日子怎么过,快乐不快乐,
象这种无聊的问题,你不要问我!
该来的会来,该走的会走,
反正都是没把握,不必太强求?
我有我的痛,我有我的梦,
装疯卖傻的时候,你不要笑我,
也许有一天,你我在相逢,
睁开眼睛看清楚,我才是英雄.
酸甜苦辣尝过,人情冷暖看破,
江湖的路上我身不由己,
事事非非抛开,恩恩怨怨不在,
自由自在我浪迹天涯.
我们该如何形容我们的国奥男足?按冯巩的逻辑,我们的男足在功夫队中应该是踢球踢得最好的,在足球队中我们又是功夫最强的,这年头,我们玩的就是综合实力!!
我们还需要再去关注我们的第三场比赛吗?我只求上天我们的这群武林高手们千万别伤了小罗,还好,我们的第一杀手“郑智”将会禁赛,相信这是这场比赛最好的消息吧!
白天看中国股市,晚上看中国足球,这日子真是没法过啦。。。

8号晚上真是一场盛典,是属于中国人的,也是属于全人类的,这辈子最大的遗憾可能就是不能现场观看北京奥运会开幕式了。
老谋子真是玩大场面的,虽然手中出一堆场面大于内容的垃圾,如《满城尽带黄金甲》,但这次的开幕式决对是有场面又有内容,而且传说由于导播的问题我们看到的电视画面效果要差很多,那这个导播也只有以死以谢天下啦。
收集了几张图片,已经传到相册中啦,决定永久收藏。
8月8日 周五
20:00 第29届奥林匹克运动会开幕式 CCTV1,2,奥运,高清
看点推介
1、如何演绎中国元素?
2、如何点燃主火炬塔?
3、谁是最终点燃主火炬塔的人?
4、焰火表演如何使人大饱眼福?
5、主题歌能否再造《手拉手》神话?谁来演唱?
6、谁将手举中国国旗入场?
8月9日 周六
8:34 女子10米气步枪资格赛 -- 高清
9:00 女篮预赛第1场A组(白俄罗斯vs澳大利亚) -- CCTV2
10:00 女排预赛A组第1场 -- CCTV2
10:00 女子举重48公斤级决赛 -- 奥运、高清
10:30 女子10米气步枪决赛 -- CCTV1
11:40 男子公路自行车赛决赛 -- 高清
12:00 体操男子资格赛:第一场 -- CCTV2
12:30 女排B组第1场(阿尔及利亚vs巴西) -- 奥运、高清
13:20 女子佩剑个人1/4决赛 -- CCTV1
13:50 赛艇女子单人双浆6场预赛 -- CCTV1
14:00 女排预赛A组第3场 -- CCTV2
14:02 男子公路自行车赛决赛 -- 高清
14:30 女篮B组第3场(西班牙vs中国) -- 奥运频道
15:00 男子10米气手枪决赛 -- CCTV1、高清
15:22 男子公路自行车赛决赛 -- 高清
16:00 男子体操资格赛 -- CCTV1、高清
16:00 公路自行车男子决赛:选出发+冲刺 -- CCTV2
16:15 开幕式录像 -- 奥运频道
18:00 柔道女子48公斤级、男子60公斤级决赛 -- CCTV2、高清
19:00 女佩个人半决赛--决赛 -- 奥运频道
19:45 女足预赛(加拿大vs中国) -- 奥运频道
20:00 女篮预赛(美国VS捷克) -- CCTV2
20:00 女排预赛A组第2场(中国VS委内瑞拉) -- CCTV1
20:00 女子佩剑铜牌、金牌决赛 -- 高清
21:00 男沙预赛F组第6场 -- 奥运频道
22:00 女排预赛B组第3场 -- CCTV2
NND,可能真是胖啦~~今天真是感觉有点儿要中暑的感觉,太难受了,出去走了一圈差点儿没有昏倒在路上,前两天终于盼来了一场暴雨,但雨一停气温就立马又上来了。。。
北京的夏天真是痛苦呀~~地球确实很危险







