<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_{BoyLee's Blog}</title><subtitle type="text">目前有点菜,正在变得越来越不菜......... </subtitle><id>http://feed.cnblogs.com/blog/u/20835/rss</id><updated>2011-12-17T13:08:59Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/20835/rss"/><entry><id>http://www.cnblogs.com/boylee/archive/2011/12/17/2291346.html</id><title type="text">Excel报表通用类</title><summary type="text">将数据导出为Excel报表是个老生常谈的话题，但是在项目组新人过多，项目中又存在大量Excel报表时，各种各样的问题就出来了~~~其实对于绝大部分场景来讲，作成Excel时只要定义好模板文件然后填充数据就行了。于是为了降低新人的出错率，简化开发，写了个通用基类，作成一个报表只要像下面的代码这样简单继承一下基类就可以了。 1 using System; 2 using System.Data; 3 using Lee.Library.Reports.Office.Excel; 4 5 namespace Lee.Sample.Reports.Office.Excel 6 { 7 pub...</summary><published>2011-12-17T12:56:00Z</published><updated>2011-12-17T12:56:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2011/12/17/2291346.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2011/12/17/2291346.html"/><content type="html">&lt;p&gt;将数据导出为Excel报表是个老生常谈的话题，但是在项目组新人过多，项目中又存在大量Excel报表时，各种各样的问题就出来了~~~&lt;br /&gt;其实对于绝大部分场景来讲，作成Excel时只要定义好模板文件然后填充数据就行了。于是为了降低新人的出错率，简化开发，写了个通用基类，作成一个报表只要像下面的代码这样简单继承一下基类就可以了。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Data;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; Lee.Library.Reports.Office.Excel;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; Lee.Sample.Reports.Office.Excel&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; SampleReport : BaseReport&amp;lt;DataSet&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;     {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; SampleReport(DataSet ds) : &lt;span style="color: #0000ff;"&gt;base&lt;/span&gt;(ds) { }&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; InitReport()&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;         {&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.ReportName = &lt;span style="color: #800000;"&gt;@"&lt;/span&gt;&lt;span style="color: #800000;"&gt;UserInfo&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.ReportSavePath = AppDomain.CurrentDomain.BaseDirectory + &lt;span style="color: #800000;"&gt;@"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Reports\Office\Excel\&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Excel = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; WorkBook(AppDomain.CurrentDomain.BaseDirectory + &lt;span style="color: #800000;"&gt;@"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Reports\Office\Excel\UserInfo.xls&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;UserInfo&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Excel.Sheets.Add(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; WorkSheet(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;MyUserInfo&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; i = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;; i &amp;lt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.DataSource.Tables[&lt;span style="color: #800080;"&gt;0&lt;/span&gt;].Rows.Count; i++)&lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;                 DataRow dr = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.DataSource.Tables[&lt;span style="color: #800080;"&gt;0&lt;/span&gt;].Rows[i];&lt;br /&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Excel.Sheets[&lt;span style="color: #800080;"&gt;0&lt;/span&gt;].Add(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; WorkCell(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;B&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + (i + &lt;span style="color: #800080;"&gt;3&lt;/span&gt;).ToString(), dr.Field&amp;lt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;ID&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;)));&lt;br /&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Excel.Sheets[&lt;span style="color: #800080;"&gt;0&lt;/span&gt;].Add(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; WorkCell(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + (i + &lt;span style="color: #800080;"&gt;3&lt;/span&gt;).ToString(), dr.Field&amp;lt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;NAME&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;)));&lt;br /&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;             }&lt;br /&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;         }&lt;br /&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;     }&lt;br /&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt; }&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;代码比较简单，附有调用示例，有兴趣的同学可以做进一步调整优化&lt;br /&gt;下载地址如下：&lt;a href="http://files.cnblogs.com/boylee/ExcelReport.zip"&gt;http://files.cnblogs.com/boylee/ExcelReport.zip&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/boylee/aggbug/2291346.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/boylee/archive/2011/12/17/2291346.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/boylee/archive/2008/10/12/1309071.html</id><title type="text">我承认我被今天的首页雷到了</title><summary type="text">周末没人管哈,今天的首页比以往来的更雷人一些</summary><published>2008-10-12T05:23:00Z</published><updated>2008-10-12T05:23:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2008/10/12/1309071.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2008/10/12/1309071.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2008/07/13/1241769.html</id><title type="text">希望大家不要为了首页而首页</title><summary type="text">首页是大家的,求求您注意点影响.像我,以前技术很烂的时候写入门的,仅仅写一些自己收藏用.现在有些许进步,但还是没有写首页的能力.所以我从来不往首页写东西,可我至少有分辨质量的水平瞧瞧首页,怎么老是出现那啥的文章.首页要求我就不重复废话了,拜托大家不要为了首页而首页,不是说发了首页你就NB了.有些人,实在看不下去了...甚至于有些人,给他建议,不要乱放首页.轻的则不理不问,中等的则偷偷删除评论,更甚者则有无理谩骂,实在是无语...</summary><published>2008-07-13T03:15:00Z</published><updated>2008-07-13T03:15:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2008/07/13/1241769.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2008/07/13/1241769.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2008/04/17/1158496.html</id><title type="text">突然发现很少在这里写东西了</title><summary type="text">记得当年申请的时候,怀着多么激动的心情.dudu批准通过了,着实兴奋了一把后来也就不写了.高深的写不来,都是学,简单的又不屑写再后来园子里发生了很多事,渐渐的貌似失去兴趣了.有阵子都不来了最近貌似形势有所好转.每天都习惯性的来看看学学有崇拜的,欣赏的,学习的.也有让我厌恶的,鄙视的,恶心的小T调休了.其他人开会了.我也不想做事了.觉得很无聊.就乱七八糟讲一通最近工作越来越没激情了.带项目带的很操心...</summary><published>2008-04-17T09:34:00Z</published><updated>2008-04-17T09:34:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2008/04/17/1158496.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2008/04/17/1158496.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2008/04/01/1132916.html</id><title type="text">哎......</title><summary type="text">昨天回了一趟无锡,一天不在公司,他们连VSS服务器都删了其他的重复几百次的问题,以及其他的错误也不想多说了这个Leader还真不好当.若不是快派到客户那,换个环境了,真想不干了.累死累活带这样一批人,就给这点钱.......</summary><published>2008-04-01T07:08:00Z</published><updated>2008-04-01T07:08:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2008/04/01/1132916.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2008/04/01/1132916.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2008/02/24/1079457.html</id><title type="text">周末公司新人见闻录</title><summary type="text">过来有点事,于是发现1.带外人到公司乱用机器2.乱翻我桌上东西3.有失窃事件3.用公司电话煲电话泡妞4.公司内空调开着,泡面抽烟,弄的乌烟瘴气5.等等等等管不了那么多了,我反正下个月就离职跳槽了.</summary><published>2008-02-24T07:05:00Z</published><updated>2008-02-24T07:05:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2008/02/24/1079457.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2008/02/24/1079457.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2007/12/12/992332.html</id><title type="text">招聘面试趣闻录</title><summary type="text">最近忙于面试,真是长了见识啊.不做任何评论,只讲一些有趣的事</summary><published>2007-12-12T07:59:00Z</published><updated>2007-12-12T07:59:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2007/12/12/992332.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2007/12/12/992332.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2007/11/15/960375.html</id><title type="text">程序产品商业包装的重要性</title><summary type="text">我很清楚这套程序是多么的烂(因为我参与了开发),但是看了介绍,连我都想去买了.看来商业包装远远高于技术含量,程序效率,代码是否优美.关键是包装和宣传的好.我简直不敢相信我这是我们写出来的这是一套vb.net写的,水平和效率都很差的系统.但是加上精美的包装和强大的宣传攻势,漂亮的flash demo,天!</summary><published>2007-11-15T06:19:00Z</published><updated>2007-11-15T06:19:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2007/11/15/960375.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2007/11/15/960375.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2007/11/15/960208.html</id><title type="text">多收了三五斗（在日IT民工版）</title><summary type="text"> 在日华人IT技术者的募集现场里,横七竖八地摆着各公司的募集摊位。前来应募的是在日IT民工，把门口塞得很满。厚厚的履历表和资格证书用各色的夹子夹着，一叠一叠地，填没了这只手和那只手之间的空隙。门口进去就是东京最大的人才市场了,招聘单位就排在市场的那一边。朝晨的太阳光从整洁的玻璃天棚上斜射下来，光柱子落在柜台外面晃动着的无奈的面孔上。 </summary><published>2007-11-15T04:19:00Z</published><updated>2007-11-15T04:19:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2007/11/15/960208.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2007/11/15/960208.html"/></entry><entry><id>http://www.cnblogs.com/boylee/archive/2007/11/09/954476.html</id><title type="text">Microsoft IME 操作(日文输入)</title><summary type="text">Microsoft IME スタンダード キー操作一覧Microsoft IME スタンダードの既定のキー設定です。[Microsoft IME スタンダードのプロパティ] ダイアログ ボックスの [全般] タブの [キー設定] ボックスで、[Microsoft IME] が選ばれているときに有効になります。 入力 / 変換済み文字がない状態 (入力 / 変換済み文字なし) Microsoft I...</summary><published>2007-11-09T08:04:00Z</published><updated>2007-11-09T08:04:00Z</updated><author><name>BoyLee</name><uri>http://www.cnblogs.com/boylee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/boylee/archive/2007/11/09/954476.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/boylee/archive/2007/11/09/954476.html"/></entry></feed>
