<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_mingceng</title><subtitle type="text">学习是一件非常快乐的事情</subtitle><id>http://feed.cnblogs.com/blog/u/90375/rss</id><updated>2012-04-29T05:07:52Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/90375/rss"/><entry><id>http://www.cnblogs.com/nianming/archive/2012/04/29/2476104.html</id><title type="text">ASP.NET利用JQuery自动上传图片</title><summary type="text">记得去年的时候，我在做上传图片是就遇到了一个问题，当时还在博客园的博问中提问过（http://q.cnblogs.com/q/28119/），最终我选择了使用Uploadify解决当时的问题。前几天在做上传图片时，想选择图片之后立即上传，自然而然想到了使用JQuery，但是又遇到了去年遇到的那个问题，这种情况还是需要提交表单才行。前天看到园子的一位朋友写的ASP.NET工作笔记之一：图片上传预览及无刷新上传，今天我也专门写了一个例子，欢迎批评指正。DEMO的结构下面看看UploadImage.aspx页面里的代码：HTML代码： 1: &lt;form id="form1"</summary><published>2012-04-29T04:33:00Z</published><updated>2012-04-29T04:33:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/04/29/2476104.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/04/29/2476104.html"/><content type="html">&lt;p&gt;记得去年的时候，我在做上传图片是就遇到了一个问题，当时还在博客园的博问中提问过（&lt;a href="http://q.cnblogs.com/q/28119/" target="_blank"&gt;http://q.cnblogs.com/q/28119/&lt;/a&gt;），最终我选择了使用Uploadify解决当时的问题。前几天在做上传图片时，想选择图片之后立即上传，自然而然想到了使用JQuery，但是又遇到了去年遇到的那个问题，这种情况还是需要提交表单才行。前天看到园子的一位朋友写的&lt;a href="http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html" target="_blank"&gt;ASP.NET工作笔记之一：图片上传预览及无刷新上传&lt;/a&gt;，今天我也专门写了一个例子，欢迎批评指正。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;DEMO的结构&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232078327.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232117677.png" alt="image" width="333" height="342" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;下面看看UploadImage.aspx页面里的代码：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;HTML代码：&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="form1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="upload"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="file"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="uploadImage"&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="uploadImage"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="preview"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;img&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="previewImage"&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="images/nopic.jpg"&lt;/span&gt; &lt;span class="attr"&gt;alt&lt;/span&gt;&lt;span class="kwrd"&gt;="暂无图片"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;style&gt;&lt;!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--&gt;&lt;/style&gt;&lt;p&gt;CSS代码：&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;        &lt;span class="rem"&gt;#upload&lt;/span&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        {&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            height: 25px;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        }&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="rem"&gt;#upload input&lt;/span&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        {&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            float: left;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            margin: 0 20px 0 0;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        }&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="rem"&gt;#upload img&lt;/span&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        {&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            width: 25px;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            height: 25px;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            float: left;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        }&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="rem"&gt;#preview&lt;/span&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        {&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            width: 300px;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            margin: 10px 0 0 0;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        }&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        &lt;span class="rem"&gt;#preview img&lt;/span&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;        {&lt;span class="lnum"&gt;  23:  &lt;/span&gt;            width: 300px;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;            height: 260px;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        }&lt;/div&gt;&lt;style&gt;&lt;!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--&gt;&lt;/style&gt;&lt;p&gt;JS代码：&lt;/p&gt;&lt;p&gt;首先引用下面的JS文件：&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;script src=&lt;span class="str"&gt;"js/jquery-1.7.2.min.js"&lt;/span&gt; type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;lt;script src=&lt;span class="str"&gt;"js/jquery.form.js"&lt;/span&gt; type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;style&gt;&lt;!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--&gt;&lt;/style&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;   $(&lt;span class="kwrd"&gt;function&lt;/span&gt; () {&lt;span class="lnum"&gt;   2:  &lt;/span&gt;            &lt;span class="kwrd"&gt;var&lt;/span&gt; wait = $(&lt;span class="str"&gt;"&amp;lt;img src=\"images/wait.gif\" alt=\"正在上传\"/&amp;gt;"&lt;/span&gt;);&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            $(&lt;span class="str"&gt;"#uploadImage"&lt;/span&gt;).change(&lt;span class="kwrd"&gt;function&lt;/span&gt; () {&lt;span class="lnum"&gt;   4:  &lt;/span&gt;                $(&lt;span class="str"&gt;"#form1"&lt;/span&gt;).ajaxSubmit({&lt;span class="lnum"&gt;   5:  &lt;/span&gt;                    url: &lt;span class="str"&gt;'UploadImage.ashx'&lt;/span&gt;,&lt;span class="lnum"&gt;   6:  &lt;/span&gt;                    beforeSubmit: &lt;span class="kwrd"&gt;function&lt;/span&gt; () {&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                        $(&lt;span class="str"&gt;"#upload"&lt;/span&gt;).append(wait);&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                        $(&lt;span class="str"&gt;"#upload img"&lt;/span&gt;).css(&lt;span class="str"&gt;"display"&lt;/span&gt;, &lt;span class="str"&gt;"inline"&lt;/span&gt;);&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                    },&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                    success: &lt;span class="kwrd"&gt;function&lt;/span&gt; (data) {&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                        $(&lt;span class="str"&gt;"#upload img"&lt;/span&gt;).fadeOut(2000);&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (data != &lt;span class="str"&gt;"上传失败"&lt;/span&gt;) {&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                            $(&lt;span class="str"&gt;"#previewImage"&lt;/span&gt;).attr(&lt;span class="str"&gt;"src"&lt;/span&gt;, &lt;span class="str"&gt;"uploadimages/"&lt;/span&gt; + data).hide().fadeIn(2000);&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                        }&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                            alert(&lt;span class="str"&gt;"上传失败"&lt;/span&gt;);&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                        }&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                    }&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                });&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            });&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        });&lt;/div&gt;&lt;style&gt;&lt;!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--&gt;&lt;/style&gt;&lt;p&gt;&lt;strong&gt;UploadImage.ashx文件的代码如下：&lt;/strong&gt;&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ProcessRequest(HttpContext context)&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    context.Response.ContentType = &lt;span class="str"&gt;"text/plain"&lt;/span&gt;;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    HttpPostedFile file = context.Request.Files[0];&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (file != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    {&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        {&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            &lt;span class="rem"&gt;//图片保存的文件夹路径&lt;/span&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; path = context.Server.MapPath(&lt;span class="str"&gt;"~/uploadimages/"&lt;/span&gt;);&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            &lt;span class="rem"&gt;//每天上传的图片一个文件夹&lt;/span&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; folder = DateTime.Now.ToString(&lt;span class="str"&gt;"yyyyMMdd"&lt;/span&gt;);&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            &lt;span class="rem"&gt;//如果文件夹不存在，则创建&lt;/span&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!Directory.Exists(path + folder))&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            {&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                Directory.CreateDirectory(path + folder);&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            }&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="rem"&gt;//上传图片的扩展名&lt;/span&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; type = file.FileName.Substring(file.FileName.LastIndexOf(&lt;span class="str"&gt;'.'&lt;/span&gt;));&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            &lt;span class="rem"&gt;//保存图片的文件名&lt;/span&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; saveName = Guid.NewGuid().ToString() + type;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            &lt;span class="rem"&gt;//保存图片&lt;/span&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;            file.SaveAs(path + folder + &lt;span class="str"&gt;"/"&lt;/span&gt; + saveName);&lt;span class="lnum"&gt;  24:  &lt;/span&gt;            context.Response.Write(folder + &lt;span class="str"&gt;"/"&lt;/span&gt; + saveName);&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        }&lt;span class="lnum"&gt;  26:  &lt;/span&gt;        &lt;span class="kwrd"&gt;catch&lt;/span&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;        {&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            context.Response.Write(&lt;span class="str"&gt;"上传失败"&lt;/span&gt;);&lt;span class="lnum"&gt;  29:  &lt;/span&gt;        }&lt;span class="lnum"&gt;  30:  &lt;/span&gt;    }&lt;span class="lnum"&gt;  31:  &lt;/span&gt;}&lt;/div&gt;&lt;style&gt;&lt;!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--&gt;&lt;/style&gt;&lt;p&gt;&lt;strong&gt;最后程序运行的效果如下图所示：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;未上传图片&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232127776.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="QQ截图20120429110002" src="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232137351.png" alt="QQ截图20120429110002" width="337" height="316" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;上传后&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232288870.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="QQ截图20120429111407" src="http://images.cnblogs.com/cnblogs_com/nianming/201204/20120429123248526.png" alt="QQ截图20120429111407" width="337" height="327" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;以上代码我在谷歌和FF中测试没有问题，在IE9下会出现下面的问题：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232493624.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="QQ截图20120429111633" src="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232502610.png" alt="QQ截图20120429111633" width="337" height="320" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;查看问题出现在哪，启动IE9的开发人员工具进行调试，通过调试可以发现IE9在返回的data前后分别加了&amp;lt;pre&amp;gt;和&amp;lt;/pre&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232539560.png" target="_blank"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="QQ截图20120429111905" src="http://images.cnblogs.com/cnblogs_com/nianming/201204/201204291232544185.png" alt="QQ截图20120429111905" width="513" height="119" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;这样的话，就需要修改一下JS代码，如果是IE9的话，就将&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;替换掉。&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;success: &lt;span class="kwrd"&gt;function&lt;/span&gt; (data) {&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    $(&lt;span class="str"&gt;"#upload img"&lt;/span&gt;).fadeOut(2000);&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (data != &lt;span class="str"&gt;"上传失败"&lt;/span&gt;) {&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; ($.browser.msie) {&lt;span class="lnum"&gt;   5:  &lt;/span&gt;            data = data.replace(&lt;span class="str"&gt;"&amp;lt;pre&amp;gt;"&lt;/span&gt;, &lt;span class="str"&gt;""&lt;/span&gt;).replace(&lt;span class="str"&gt;"&amp;lt;/pre&amp;gt;"&lt;/span&gt;, &lt;span class="str"&gt;""&lt;/span&gt;);&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        }&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        $(&lt;span class="str"&gt;"#previewImage"&lt;/span&gt;).attr(&lt;span class="str"&gt;"src"&lt;/span&gt;, &lt;span class="str"&gt;"uploadimages/"&lt;/span&gt; + data).hide().fadeIn(2000);&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    }&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        alert(&lt;span class="str"&gt;"上传失败"&lt;/span&gt;);&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    }&lt;span class="lnum"&gt;  12:  &lt;/span&gt;}&lt;/div&gt;&lt;p&gt;上面的代码只在IE9下测试，其他版本的，感兴趣的朋友可以自己测试。&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: x-large;"&gt;在线测试地址：&lt;a href="http://www.tnmblogs.com/Demo/UploadImage.aspx" target="_blank"&gt;http://www.tnmblogs.com/Demo/UploadImage.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2476104.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/04/29/2476104.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2012/04/01/2429359.html</id><title type="text">GridView删除时激发了未处理的事件“RowDeleting&amp;quot;</title><summary type="text">在GridView使用Button,LinkButton等删除时，CommandName的值不要等于delete，因为该值delete是默认值，它默认会触发RowDeleting事件</summary><published>2012-04-01T13:14:00Z</published><updated>2012-04-01T13:14:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/04/01/2429359.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/04/01/2429359.html"/><content type="html">&lt;p&gt;在GridView使用Button,LinkButton等删除时，CommandName的值不要等于delete，因为该值delete是默认值，它默认会触发&lt;em&gt;RowDeleting事件&lt;/em&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2429359.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/04/01/2429359.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2012/03/28/2421159.html</id><title type="text">Oracle中查询不出数据，为什么在程序中还能显示数据解决方法</title><summary type="text">在PLSql中，执行删除语句后，还要提交一下事务，这样才真正删除了数据！</summary><published>2012-03-28T05:54:00Z</published><updated>2012-03-28T05:54:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/03/28/2421159.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/03/28/2421159.html"/><content type="html">&lt;p&gt;在PLSql中，执行删除语句后，还要提交一下事务，这样才真正删除了数据！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2421159.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/03/28/2421159.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2012/03/27/2420279.html</id><title type="text">引用js文件出现汉字乱码的解决方案</title><summary type="text">出现乱码是由于编码不一致造成的，简单的办法就是用记事本打开JS文件，将其保存成与页面一致的编码格式即可！</summary><published>2012-03-27T14:13:00Z</published><updated>2012-03-27T14:13:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/03/27/2420279.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/03/27/2420279.html"/><content type="html">&lt;p&gt;出现乱码是由于编码不一致造成的，简单的办法就是用记事本打开JS文件，将其保存成与页面一致的编码格式即可！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2420279.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/03/27/2420279.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2012/01/16/2324097.html</id><title type="text">静电引发的悲剧</title><summary type="text">今天是北方的小年，接近傍晚，青岛就开始响起了鞭炮声。。。这样的日子，多少让一个人在外的我感到有点想家的感觉。不过马上就要过春节了，到那时候就可以回家了。还是先说说今天我遇到的问题吧。今天下班回来后，本想一个人闲着无聊看个电影放松放松，可是打开电脑，插上鼠标，奇迹发生了，鼠标竟然没有反应，我的第一反应是鼠标坏了。怎么可能坏了呢？下班关电脑的时候还好好的呢，首先我想到的是驱动问题，于是先装上驱动精灵，运行也没发现什么问题，难道是鼠标真的坏了？我插上移动硬盘，第一个USB接口显示无法识别，此时给我一种不祥的感觉，难道USB接口坏了，还好第二第三个USB接口能够识别移动硬盘。然后我又把键盘插到电脑上，</summary><published>2012-01-16T13:21:00Z</published><updated>2012-01-16T13:21:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/01/16/2324097.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/01/16/2324097.html"/><content type="html">&lt;p&gt;今天是北方的小年，接近傍晚，青岛就开始响起了鞭炮声。。。这样的日子，多少让一个人在外的我感到有点想家的感觉。不过马上就要过春节了，到那时候就可以回家了。&lt;/p&gt;&lt;p&gt;还是先说说今天我遇到的问题吧。今天下班回来后，本想一个人闲着无聊看个电影放松放松，可是打开电脑，插上鼠标，奇迹发生了，鼠标竟然没有反应，我的第一反应是鼠标坏了。怎么可能坏了呢？下班关电脑的时候还好好的呢，首先我想到的是驱动问题，于是先装上驱动精灵，运行也没发现什么问题，难道是鼠标真的坏了？我插上移动硬盘，第一个USB接口显示无法识别，此时给我一种不祥的感觉，难道USB接口坏了，还好第二第三个USB接口能够识别移动硬盘。然后我又把键盘插到电脑上，三个USB接口都不能识别。这是怎么回事呢？从网上搜索，有很多解决的办法，试了好多也没有解决问题，我失望透顶，心里也有点发慌，难道真是USB接口坏了，我明天上班怎么用啊？此时，我想到了重装系统，但是我知道重装系统并不一定能够解决问题，在重装系统之前，我又试了几个方法，最后还真给解决了，原来是静电惹的祸。&lt;/p&gt;&lt;p&gt;我把笔记本的电池扣下来，按了几下开机键，再重新启动即可！&lt;/p&gt;&lt;p&gt;下面我把原文引用过来，如果大家遇到此类问题，希望能够提供一些帮助！&lt;/p&gt;&lt;p&gt;原文地址：&lt;a href="http://hi.baidu.com/scott1245/blog/item/4ff9dd2a68179729d42af137.html"&gt;http://hi.baidu.com/scott1245/blog/item/4ff9dd2a68179729d42af137.html&lt;/a&gt;&lt;/p&gt;静电引发系统&amp;ldquo;无法识别的USB设备&amp;rdquo;&lt;br/&gt;&lt;br/&gt;　本人使用的联想扬天M6002计算机子近四年多来没有出现任何硬件故障，近日发现连接的移动硬盘系统显示&amp;ldquo;无法识别的USB设备&amp;rdquo;现象，通过开关移动硬盘或插拔连接的USB口总不能解决问题，但在别的电脑上使用却没有一点辨别问题，而本机系统始终出现&amp;ldquo;无法识别的USB设备&amp;rdquo;。打开&amp;ldquo;设备管理器&amp;rdquo;的&amp;ldquo;通用串口总线控制器&amp;rdquo;发现有&amp;ldquo;unkown device&amp;rdquo;设备，怀疑驱动出现问题，卸载重装多次均不见效，故障依旧，但计算机的USB光电鼠标一直可以正常使用，不管插在那一个USB口上。&lt;br/&gt;&lt;br/&gt;  根据这种现象判定：一不可能是USB设备故障，因为移动硬盘在其它计算机上能正常使用；二USB接口与主板也不会有问题，因为USB鼠标能在任何一个USB口上正常使用。难道是操作系统出现问题？为了彻底解开这个谜团，我进行了Ghost操作系统的安装，但完成后故障依旧。这让我犯难了，这到底是什么原因致使的呀？后，在&amp;ldquo;设备管理器&amp;rdquo;的&amp;ldquo;通用串口总线控制器&amp;rdquo;中我逐个停用USB控制器设备，我发现一个奇怪的现象：只要停用&amp;ldquo;SiS PCI to USB Enhanced Host Controller&amp;rdquo;，卸载&amp;ldquo;unkown device&amp;rdquo;设备，进行扫描检测硬件改动能找到移动硬盘，但马上又是：&amp;ldquo;unkown device&amp;rdquo;设备。难道是&amp;ldquo;SiS PCI to USB Enhanced Host Controller&amp;rdquo;这个USB2.0主控器惹的祸吗？我在网上下载、安装专用的USB2.0驱动程序后，仍然&amp;ldquo;无法识别&amp;rdquo;USB设备。到网上查找相关信息发现，有可能是计算机静电引发。启用&amp;ldquo;SiS PCI to USB Enhanced Host Controller&amp;rdquo;设备，关机后对计算机进行静电释放，重新启动计算机，连接在计算机上的打印机和U盘很快被识别。&lt;br/&gt;&lt;br/&gt;  计算机静电释放的正确方法：拔除主机上所有的连线（包括电源线，鼠标键盘线，显示器数据线，网线，外接设备连线等），按主机电源开关3-5次，每次按住开关一秒钟，中间间隔1-2秒。&lt;br/&gt;&lt;br/&gt;  现时值冬季，气候变得越来越干燥，计算机更容易积累静电导致莫名的计算机故障，严重的会致使硬件损坏。所以，在冬季，做好计算机的静电防止工作显得更加重要，尤其是计算机房的静电防止。&lt;p&gt;在此感谢写这篇文章的朋友，帮助解决了我的问题！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2324097.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/01/16/2324097.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2012/01/06/2315322.html</id><title type="text">从DataSet导出Txt(续)</title><summary type="text">在从DataSet导出Txt一篇中，我们还有一个问题没有解决：每个Txt的总金额不能超过10万，单笔金额不能超过5万（上一篇中为5000）。按照上一篇中我提到的解决方案，首先在服务器中生成Txt，再打包下载到客户端。首先，我们需要两个方法：一个是创建文件的方法，一个是压缩文件的方法，下面我给出具体的代码。创建Txt文件的方法：/// &lt;summary&gt;/// 创建Txt文档/// &lt;/summary&gt;/// &lt;param name="str"&gt;写入Txt的内容&lt;/param&gt;/// &lt;param name="l</summary><published>2012-01-06T15:26:00Z</published><updated>2012-01-06T15:26:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/01/06/2315322.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/01/06/2315322.html"/><content type="html">&lt;p&gt;在&lt;a href="http://www.cnblogs.com/nianming/archive/2012/01/06/2313837.html"&gt;从DataSet导出Txt&lt;/a&gt;一篇中，我们还有一个问题没有解决：每个Txt的总金额不能超过10万，单笔金额不能超过5万（上一篇中为5000）。&lt;/p&gt;&lt;p&gt;按照上一篇中我提到的解决方案，首先在服务器中生成Txt，再打包下载到客户端。&lt;/p&gt;&lt;p&gt;首先，我们需要两个方法：一个是创建文件的方法，一个是压缩文件的方法，下面我给出具体的代码。&lt;/p&gt;&lt;p&gt;创建Txt文件的方法：&lt;/p&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;创建Txt文档&lt;br/&gt;&lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;/// &amp;lt;param name="str"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;写入Txt的内容&lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name="list"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;生成的Txt的路径列表&lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private static void &lt;/span&gt;CreateTxtFile(&lt;span style="color: blue;"&gt;string &lt;/span&gt;str, &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; list)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: blue;"&gt;if &lt;/span&gt;(str.Length == 0)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;return&lt;/span&gt;;&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue;"&gt;string &lt;/span&gt;fileName = &lt;span style="color: #2b91af;"&gt;Guid&lt;/span&gt;.NewGuid() + &lt;span style="color: #a31515;"&gt;".txt"&lt;/span&gt;;&lt;br/&gt;    &lt;span style="color: blue;"&gt;string &lt;/span&gt;path = &lt;span style="color: #a31515;"&gt;@"F:\\Txt\\" &lt;/span&gt;+ fileName;&lt;br/&gt;    list.Add(path);&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;StreamWriter &lt;/span&gt;sr = &lt;span style="color: #2b91af;"&gt;File&lt;/span&gt;.CreateText(path);&lt;br/&gt;    sr.Write(str);&lt;br/&gt;    sr.Close();&lt;br/&gt;}&lt;p&gt;压缩文件的方法：&lt;/p&gt;&lt;p&gt;需要引用ICSharpCode.SharpZipLib.dll&lt;/p&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;CompressFile(&lt;span style="color: blue;"&gt;string &lt;/span&gt;savePath, &lt;span style="color: blue;"&gt;string &lt;/span&gt;txtName, &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; fileNames)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;ZipOutputStream &lt;/span&gt;stream = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ZipOutputStream&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;File&lt;/span&gt;.Create(savePath));&lt;br/&gt;    &lt;span style="color: green;"&gt;//设置压缩级别(0-9)，值越大压缩越厉害&lt;br/&gt;    &lt;/span&gt;stream.SetLevel(8);&lt;br/&gt;    &lt;span style="color: green;"&gt;//遍历所有要压缩的文件&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; fileNames.Count; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;if &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;File&lt;/span&gt;.Exists(fileNames[i]))&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af;"&gt;FileStream &lt;/span&gt;fs = &lt;span style="color: #2b91af;"&gt;File&lt;/span&gt;.OpenRead(fileNames[i]);&lt;br/&gt;            &lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] buffer = &lt;span style="color: blue;"&gt;new byte&lt;/span&gt;[fs.Length];&lt;span style="color: green;"&gt;//设置缓冲区大小&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;size = fs.Read(buffer, 0, buffer.Length); &lt;span style="color: green;"&gt;//读入缓冲区中的字节数&lt;br/&gt;            //string entryName = fileName.Substring(fileName.LastIndexOf("\\") + 1);&lt;br/&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;entryName = txtName + &lt;span style="color: #a31515;"&gt;"(" &lt;/span&gt;+ (i + 1) + &lt;span style="color: #a31515;"&gt;").txt"&lt;/span&gt;;&lt;br/&gt;            &lt;span style="color: #2b91af;"&gt;ZipEntry &lt;/span&gt;entry = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;ZipEntry&lt;/span&gt;(entryName);&lt;br/&gt;            stream.PutNextEntry(entry);&lt;br/&gt;            stream.Write(buffer, 0, size);&lt;br/&gt;            &lt;span style="color: blue;"&gt;try&lt;br/&gt;            &lt;/span&gt;{&lt;br/&gt;                &lt;span style="color: green;"&gt;//如果读入缓冲区中的字节数没有所请求的总字节数那么多&lt;br/&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;while &lt;/span&gt;(size &amp;lt; fs.Length)&lt;br/&gt;                {&lt;br/&gt;                    &lt;span style="color: blue;"&gt;int &lt;/span&gt;sizeRead = fs.Read(buffer, 0, buffer.Length);&lt;br/&gt;                    stream.Write(buffer, 0, sizeRead);&lt;br/&gt;                    size += sizeRead;&lt;br/&gt;                }&lt;br/&gt;            }&lt;br/&gt;            &lt;span style="color: blue;"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;Exception &lt;/span&gt;ex) { &lt;span style="color: blue;"&gt;throw &lt;/span&gt;ex; }&lt;br/&gt;            &lt;span style="color: blue;"&gt;finally &lt;/span&gt;{ fs.Close(); }&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: green;"&gt;//删除文件&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;File&lt;/span&gt;.Delete(fileNames[i]);&lt;br/&gt;    }&lt;br/&gt;    stream.Finish();&lt;br/&gt;    stream.Close();&lt;br/&gt;}&lt;p&gt;下面来写导出Txt的方法&lt;/p&gt;&lt;p&gt;在此之前，先定义一个Salary类&lt;/p&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Salary&lt;br/&gt;&lt;/span&gt;{&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;员工编号&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;EmpNo { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;员工姓名&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;EmpName { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;部门&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;Dept { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;职务&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;Post { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;工资&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public decimal &lt;/span&gt;Salary { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;开户行&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;Bank { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green;"&gt;银行账号&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public string &lt;/span&gt;BankNo { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;br/&gt;}&lt;p&gt;再写一个生成单个Txt文档字符串的方法&lt;/p&gt;&lt;span style="color: blue;"&gt;public static string &lt;/span&gt;GenTxtString(&lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;&amp;gt; list)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;StringBuilder &lt;/span&gt;sb = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;br/&gt;    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; list.Count; i++)&lt;br/&gt;    {&lt;br/&gt;        sb.Append(i + 1).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].EmpNo).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].EmpName).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].Dept).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].Post).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].Salary).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].Bank).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.Append(list[i].BankNo).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;        sb.AppendLine();&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue;"&gt;return &lt;/span&gt;sb.ToString();&lt;br/&gt;}&lt;p&gt;导出Txt的方法&lt;/p&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;ToTxt(&lt;span style="color: #2b91af;"&gt;DataSet &lt;/span&gt;ds, &lt;span style="color: blue;"&gt;string &lt;/span&gt;fileName)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataTable &lt;/span&gt;table = ds.Tables[0];&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataRowCollection &lt;/span&gt;rows = table.Rows;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataColumnCollection &lt;/span&gt;columns = table.Columns;&lt;br/&gt;    &lt;span style="color: green;"&gt;//行数&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;rowCount = rows.Count;&lt;br/&gt;    &lt;span style="color: green;"&gt;//列数&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;columnCount = columns.Count;&lt;br/&gt;    &lt;span style="color: green;"&gt;//金额总和&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;decimal &lt;/span&gt;totalSalary = 0;&lt;br/&gt;    &lt;span style="color: green;"&gt;//Txt文档路径列表&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; fileList = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt;();&lt;br/&gt;    &lt;span style="color: green;"&gt;//Salary列表&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;&amp;gt; salaryList = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;&amp;gt;();&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: green;"&gt;//遍历所有行&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rows.Count; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: green;"&gt;//工资&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;decimal &lt;/span&gt;salary = &lt;span style="color: #2b91af;"&gt;Convert&lt;/span&gt;.ToDecimal(rows[i][&lt;span style="color: #a31515;"&gt;"Salary"&lt;/span&gt;]);&lt;br/&gt;        &lt;span style="color: green;"&gt;//固定值5万&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;decimal &lt;/span&gt;c = 50000.00m;&lt;br/&gt;        &lt;span style="color: green;"&gt;//工资由几个5万组成&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;a = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)(salary / c);&lt;br/&gt;&lt;br/&gt;        &lt;span style="color: green;"&gt;//工资小于等于10万&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(salary &amp;lt;= 100000)&lt;br/&gt;        {&lt;br/&gt;            totalSalary += salary;&lt;br/&gt;            &lt;span style="color: blue;"&gt;if &lt;/span&gt;(totalSalary &amp;gt; 100000)&lt;br/&gt;            {&lt;br/&gt;                &lt;span style="color: green;"&gt;//如果总额大于10万，新创建一个Txt&lt;br/&gt;                &lt;/span&gt;CreateTxtFile(GenTxtString(salaryList), fileList);&lt;br/&gt;                totalSalary = salary;&lt;br/&gt;                salaryList.Clear();&lt;br/&gt;            }&lt;br/&gt;            &lt;span style="color: blue;"&gt;if &lt;/span&gt;(a &amp;gt; 0)&lt;br/&gt;            {&lt;br/&gt;                &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; a; j++)&lt;br/&gt;                {&lt;br/&gt;                    salaryList.Add(&lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;() { EmpNo = rows[i][&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;].ToString(), EmpName = rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString(), Dept = rows[i][&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;].ToString(), Post = rows[i][&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;].ToString(), FactSalary = c, Bank = rows[i][&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;].ToString(), BankNo = rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString() });&lt;br/&gt;                }&lt;br/&gt;                &lt;span style="color: green;"&gt;//余数不为0&lt;br/&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(salary % c != 0)&lt;br/&gt;                {&lt;br/&gt;                    salaryList.Add(&lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;() { EmpNo = rows[i][&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;].ToString(), EmpName = rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString(), Dept = rows[i][&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;].ToString(), Post = rows[i][&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;].ToString(), FactSalary = salary % c, Bank = rows[i][&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;].ToString(), BankNo = rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString() });&lt;br/&gt;                }&lt;br/&gt;            }&lt;br/&gt;            &lt;span style="color: blue;"&gt;else&lt;br/&gt;            &lt;/span&gt;{&lt;br/&gt;                salaryList.Add(&lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;() { EmpNo = rows[i][&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;].ToString(), EmpName = rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString(), Dept = rows[i][&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;].ToString(), Post = rows[i][&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;].ToString(), FactSalary = salary, Bank = rows[i][&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;].ToString(), BankNo = rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString() });&lt;br/&gt;            }&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: green;"&gt;//工资大于10万&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;br/&gt;        &lt;/span&gt;{&lt;br/&gt;            &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; a; j++)&lt;br/&gt;            {&lt;br/&gt;                totalSalary += c;&lt;br/&gt;                &lt;span style="color: blue;"&gt;if &lt;/span&gt;(totalSalary &amp;gt; 100000)&lt;br/&gt;                {&lt;br/&gt;                    CreateTxtFile(GenTxtString(salaryList), fileList);&lt;br/&gt;                    totalSalary = c;&lt;br/&gt;                    salaryList.Clear();&lt;br/&gt;                }&lt;br/&gt;                salaryList.Add(&lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;() { EmpNo = rows[i][&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;].ToString(), EmpName = rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString(), Dept = rows[i][&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;].ToString(), Post = rows[i][&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;].ToString(), FactSalary = c, Bank = rows[i][&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;].ToString(), BankNo = rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString() });&lt;br/&gt;            }&lt;br/&gt;            &lt;span style="color: blue;"&gt;if &lt;/span&gt;(salary % c != 0)&lt;br/&gt;            {&lt;br/&gt;                totalSalary += salary % c;&lt;br/&gt;                &lt;span style="color: blue;"&gt;if &lt;/span&gt;(totalSalary &amp;gt; 100000)&lt;br/&gt;                {&lt;br/&gt;                    CreateTxtFile(GenTxtString(salaryList), fileList);&lt;br/&gt;                    totalSalary = salary % c;&lt;br/&gt;                    salaryList.Clear();&lt;br/&gt;                }&lt;br/&gt;                salaryList.Add(&lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Salary&lt;/span&gt;() { EmpNo = rows[i][&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;].ToString(), EmpName = rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString(), Dept = rows[i][&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;].ToString(), Post = rows[i][&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;].ToString(), FactSalary = salary % c, Bank = rows[i][&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;].ToString(), BankNo = rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString() });&lt;br/&gt;            }&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue;"&gt;if &lt;/span&gt;(totalSalary &amp;lt;= 100000)&lt;br/&gt;    {&lt;br/&gt;        CreateTxtFile(GenTxtString(salaryList), fileList);&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    CompressFile(&lt;span style="color: #a31515;"&gt;@"F:\Txt\" &lt;/span&gt;+ fileName + &lt;span style="color: #a31515;"&gt;".zip"&lt;/span&gt;, fileName, fileList);&lt;br/&gt;}&lt;p&gt;用以下数据构造DataSet。&lt;/p&gt;&lt;table style="width: 583px;" border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;&lt;tr style="background-color: #bbb;"&gt;&lt;td align="center" width="73"&gt;&lt;strong&gt;EmpNo&lt;/strong&gt;&lt;/td&gt;&lt;td align="center" width="85"&gt;&lt;strong&gt;EmpName&lt;/strong&gt;&lt;/td&gt;&lt;td align="center" width="65"&gt;&lt;strong&gt;Dept&lt;/strong&gt;&lt;/td&gt;&lt;td align="center" width="61"&gt;&lt;strong&gt;Post&lt;/strong&gt;&lt;/td&gt;&lt;td align="center" width="77"&gt;&lt;strong&gt;Salary&lt;/strong&gt;&lt;/td&gt;&lt;td align="center" width="80"&gt;&lt;strong&gt;Bank&lt;/strong&gt;&lt;/td&gt;&lt;td align="center" width="140"&gt;&lt;strong&gt;BankNo&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1000&lt;/td&gt;&lt;td align="center" width="85"&gt;刘德华&lt;/td&gt;&lt;td align="center" width="65"&gt;办公室&lt;/td&gt;&lt;td align="center" width="61"&gt;总经理&lt;/td&gt;&lt;td align="center" width="77"&gt;110000&lt;/td&gt;&lt;td align="center" width="80"&gt;交通银行&lt;/td&gt;&lt;td align="center" width="140"&gt;55784756584762&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1001&lt;/td&gt;&lt;td align="center" width="85"&gt;周星驰&lt;/td&gt;&lt;td align="center" width="65"&gt;办公室&lt;/td&gt;&lt;td align="center" width="61"&gt;副总&lt;/td&gt;&lt;td align="center" width="77"&gt;105000&lt;/td&gt;&lt;td align="center" width="80"&gt;建设银行&lt;/td&gt;&lt;td align="center" width="140"&gt;58476594865764&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1002&lt;/td&gt;&lt;td align="center" width="85"&gt;王力宏&lt;/td&gt;&lt;td align="center" width="65"&gt;财务&lt;/td&gt;&lt;td align="center" width="61"&gt;经理&lt;/td&gt;&lt;td align="center" width="77"&gt;90000&lt;/td&gt;&lt;td align="center" width="80"&gt;农业银行&lt;/td&gt;&lt;td align="center" width="140"&gt;95486437546534&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1003&lt;/td&gt;&lt;td align="center" width="85"&gt;谢霆锋&lt;/td&gt;&lt;td align="center" width="65"&gt;财务&lt;/td&gt;&lt;td align="center" width="61"&gt;出纳&lt;/td&gt;&lt;td align="center" width="77"&gt;6000&lt;/td&gt;&lt;td align="center" width="80"&gt;工商银行&lt;/td&gt;&lt;td align="center" width="140"&gt;59583457547336&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1004&lt;/td&gt;&lt;td align="center" width="85"&gt;吴彦祖&lt;/td&gt;&lt;td align="center" width="65"&gt;软件部&lt;/td&gt;&lt;td align="center" width="61"&gt;程序员&lt;/td&gt;&lt;td align="center" width="77"&gt;10300&lt;/td&gt;&lt;td align="center" width="80"&gt;建设银行&lt;/td&gt;&lt;td align="center" width="140"&gt;59445473365484&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1005&lt;/td&gt;&lt;td align="center" width="85"&gt;林志颖&lt;/td&gt;&lt;td align="center" width="65"&gt;软件部&lt;/td&gt;&lt;td align="center" width="61"&gt;工程师&lt;/td&gt;&lt;td align="center" width="77"&gt;24000&lt;/td&gt;&lt;td align="center" width="80"&gt;中国银行&lt;/td&gt;&lt;td align="center" width="140"&gt;95584744956852&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1006&lt;/td&gt;&lt;td align="center" width="85"&gt;何润东&lt;/td&gt;&lt;td align="center" width="65"&gt;软件部&lt;/td&gt;&lt;td align="center" width="61"&gt;工程师&lt;/td&gt;&lt;td align="center" width="77"&gt;30000&lt;/td&gt;&lt;td align="center" width="80"&gt;农业银行&lt;/td&gt;&lt;td align="center" width="140"&gt;95483574775483&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1007&lt;/td&gt;&lt;td align="center" width="85"&gt;古天乐&lt;/td&gt;&lt;td align="center" width="65"&gt;软件部&lt;/td&gt;&lt;td align="center" width="61"&gt;实习生&lt;/td&gt;&lt;td align="center" width="77"&gt;3000&lt;/td&gt;&lt;td align="center" width="80"&gt;农业银行&lt;/td&gt;&lt;td align="center" width="140"&gt;95483474454499&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="center" width="73"&gt;1008&lt;/td&gt;&lt;td align="center" width="85"&gt;郑伊健&lt;/td&gt;&lt;td align="center" width="65"&gt;软件部&lt;/td&gt;&lt;td align="center" width="61"&gt;实习生&lt;/td&gt;&lt;td align="center" width="77"&gt;5000&lt;/td&gt;&lt;td align="center" width="80"&gt;农业银行&lt;/td&gt;&lt;td align="center" width="140"&gt;43945748374934&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;以上数据是我随便填的，可以使用任意数据替换。&lt;/p&gt;&lt;p&gt;在Main方法中调用ToTxt方法。&lt;/p&gt;&lt;span style="color: #2b91af;"&gt;Txt&lt;/span&gt;.ToTxt(ds, &lt;span style="color: #a31515;"&gt;"导出Txt测试"&lt;/span&gt;);&lt;br/&gt;&lt;span style="color: #2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515;"&gt;"导出成功"&lt;/span&gt;);&lt;p&gt;运行后，在F:\Txt下会生成压缩文件&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201062325155371.png"&gt;&lt;img style="display: inline; border-width: 0px;" title="" src="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201062325235908.png" alt="" width="647" height="256" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;双击&amp;ldquo;导出Txt测试.zip&amp;rdquo;，会看到生成的Txt文件，如下图所示：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201062325328049.png"&gt;&lt;img style="display: inline; border: 0px;" title="QQ截图20120106231358" src="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201062325371108.png" alt="QQ截图20120106231358" width="645" height="341" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;这样生成的每个Txt里都不会超过10万。有兴趣的朋友可以帮我测试测试，看有没有什么地方不对！&lt;/p&gt;&lt;p&gt;下面我附上源码：&lt;a href="http://files.cnblogs.com/nianming/%E5%AF%BC%E5%87%BATxt.rar" target="_blank"&gt;下载&lt;/a&gt;&lt;/p&gt;&lt;p&gt;运行程序之前先在F盘下新建Txt文件夹，也可以修改程序里的Path。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2315322.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/01/06/2315322.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2012/01/06/2313837.html</id><title type="text">从DataSet导出Txt</title><summary type="text">网上已经存在很多从DataSet导出到Word、Excel、Txt等的文章了，为什么还要写这篇文章呢，因为搜索了好长时间都没有找到符合要求的（不代表没有），只好自己动手写一个。后面我还遇到了问题，希望园子里的朋友帮忙解决一下，看有没有更好的办法。在这篇文章中，我涉及两个导出的问题。第一个问题是导出的每一列根据这一列的长度自动分配宽度，这样说还是不够明了，下面通过例子来看。首先，构造我们的DataSet。本来想从数据库中查询得到，这样虽然麻烦点，但是更直接。DataSet ds = new DataSet();DataTable table = new DataTable();DataColum</summary><published>2012-01-05T16:18:00Z</published><updated>2012-01-05T16:18:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2012/01/06/2313837.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2012/01/06/2313837.html"/><content type="html">&lt;p&gt;网上已经存在很多从DataSet导出到Word、Excel、Txt等的文章了，为什么还要写这篇文章呢，因为搜索了好长时间都没有找到符合要求的（不代表没有），只好自己动手写一个。后面我还遇到了问题，希望园子里的朋友帮忙解决一下，看有没有更好的办法。&lt;/p&gt;&lt;p&gt;在这篇文章中，我涉及两个导出的问题。第一个问题是导出的每一列根据这一列的长度自动分配宽度，这样说还是不够明了，下面通过例子来看。&lt;/p&gt;&lt;p&gt;首先，构造我们的DataSet。本来想从数据库中查询得到，这样虽然麻烦点，但是更直接。&lt;/p&gt;&lt;span style="color: #2b91af;"&gt;DataSet &lt;/span&gt;ds = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataSet&lt;/span&gt;();&lt;br/&gt;&lt;span style="color: #2b91af;"&gt;DataTable &lt;/span&gt;table = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataTable&lt;/span&gt;();&lt;br/&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;[] columns = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;[7];&lt;br/&gt;columns[0] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;);&lt;br/&gt;columns[1] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;);&lt;br/&gt;columns[2] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;);&lt;br/&gt;columns[3] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;);&lt;br/&gt;columns[4] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Salary"&lt;/span&gt;);&lt;br/&gt;columns[5] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;);&lt;br/&gt;columns[6] = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataColumn&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;);&lt;br/&gt;table.Columns.AddRange(columns);&lt;br/&gt;&lt;span style="color: #2b91af;"&gt;DataRow &lt;/span&gt;row1 = table.NewRow();&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"1001"&lt;/span&gt;;&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"刘德华"&lt;/span&gt;;&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"办公室"&lt;/span&gt;;&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"总经理"&lt;/span&gt;;&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"Salary"&lt;/span&gt;] = 6000;&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"建设银行"&lt;/span&gt;;&lt;br/&gt;row1[&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"5475694879437594"&lt;/span&gt;;&lt;br/&gt;&lt;span style="color: #2b91af;"&gt;DataRow &lt;/span&gt;row2 = table.NewRow();&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"1002"&lt;/span&gt;;&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"周迅"&lt;/span&gt;;&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"财务"&lt;/span&gt;;&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"出纳"&lt;/span&gt;;&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"Salary"&lt;/span&gt;] = 4000;&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"建设银行"&lt;/span&gt;;&lt;br/&gt;row2[&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"5475695489548395"&lt;/span&gt;;&lt;br/&gt;&lt;span style="color: #2b91af;"&gt;DataRow &lt;/span&gt;row3 = table.NewRow();&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"EmpNo"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"1003"&lt;/span&gt;;&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"abc"&lt;/span&gt;;&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"Dept"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"信息部"&lt;/span&gt;;&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"Post"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"程序员"&lt;/span&gt;;&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"Salary"&lt;/span&gt;] = 5000;&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"Bank"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"建设银行"&lt;/span&gt;;&lt;br/&gt;row3[&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;] = &lt;span style="color: #a31515;"&gt;"5475763489548395"&lt;/span&gt;;&lt;br/&gt;table.Rows.Add(row1);&lt;br/&gt;table.Rows.Add(row2);&lt;br/&gt;table.Rows.Add(row3);&lt;br/&gt;ds.Tables.Add(table);&lt;p&gt;在上面的代码中有三条数据。&lt;/p&gt;&lt;p&gt;第二，写导出的方法。&lt;/p&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;DataSet导出为Txt&lt;br/&gt;&lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;/// &amp;lt;param name="ds"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name="fileName"&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;导出txt文件名&lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name="page"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;ToTxt(&lt;span style="color: #2b91af;"&gt;DataSet &lt;/span&gt;ds, &lt;span style="color: blue;"&gt;string &lt;/span&gt;fileName, &lt;span style="color: #2b91af;"&gt;Page &lt;/span&gt;page)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;StringBuilder &lt;/span&gt;sb = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataTable &lt;/span&gt;table = ds.Tables[0];&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataRowCollection &lt;/span&gt;rows = table.Rows;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataColumnCollection &lt;/span&gt;columns = table.Columns;&lt;br/&gt;    &lt;span style="color: green;"&gt;//行数&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;rowCount = rows.Count;&lt;br/&gt;    &lt;span style="color: green;"&gt;//列数&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;int &lt;/span&gt;columnCount = columns.Count;&lt;br/&gt;    &lt;span style="color: green;"&gt;//每列的最大长度&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;[] columnMaxLength = &lt;span style="color: blue;"&gt;new int&lt;/span&gt;[columnCount];&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: green;"&gt;//遍历所有的记录获得每列的最大长度&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; columnCount; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;int&lt;/span&gt;[] tmps = &lt;span style="color: blue;"&gt;new int&lt;/span&gt;[rowCount];&lt;br/&gt;        &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; rowCount; j++)&lt;br/&gt;        {&lt;br/&gt;            tmps[j] = System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.Default.GetByteCount(rows[j][i].ToString());&lt;br/&gt;        }&lt;br/&gt;        columnMaxLength[i] = ArrayMaxValue(tmps);&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: green;"&gt;//将上面取的最大长度与列名比较&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; columnCount; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;if &lt;/span&gt;(columnMaxLength[i] &amp;lt; System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.Default.GetByteCount(columns[i].ColumnName))&lt;br/&gt;        {&lt;br/&gt;            columnMaxLength[i] = System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.Default.GetByteCount(columns[i].ColumnName);&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: green;"&gt;//将列名附加到字符串&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; columnCount; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;int &lt;/span&gt;a = columnMaxLength[i] - System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.Default.GetByteCount(columns[i].ColumnName);&lt;br/&gt;        &lt;span style="color: #2b91af;"&gt;StringBuilder &lt;/span&gt;sb1 = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(a);&lt;br/&gt;        &lt;span style="color: green;"&gt;//每列之间间隔3&lt;br/&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; a + 3; j++)&lt;br/&gt;        {&lt;br/&gt;            sb1.Append(&lt;span style="color: #a31515;"&gt;" "&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;        sb.Append(columns[i].ColumnName).Append(sb1.ToString());&lt;br/&gt;    }&lt;br/&gt;    sb.AppendLine();&lt;br/&gt;    sb.AppendLine();&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: green;"&gt;//将记录附加到字符串&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rowCount; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; columnCount; j++)&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: blue;"&gt;int &lt;/span&gt;a = columnMaxLength[j] - System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.Default.GetByteCount(rows[i][j].ToString());&lt;br/&gt;            &lt;span style="color: #2b91af;"&gt;StringBuilder &lt;/span&gt;sb1 = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(a);&lt;br/&gt;            &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;k = 0; k &amp;lt; a + 3; k++)&lt;br/&gt;            {&lt;br/&gt;                sb1.Append(&lt;span style="color: #a31515;"&gt;" "&lt;/span&gt;);&lt;br/&gt;            }&lt;br/&gt;&lt;br/&gt;            sb.Append(rows[i][j]).Append(sb1.ToString());&lt;br/&gt;        }&lt;br/&gt;        sb.AppendLine();&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.Clear();&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.Buffer = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.ContentEncoding = System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.UTF8;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.AppendHeader(&lt;span style="color: #a31515;"&gt;"Content-Disposition"&lt;/span&gt;, &lt;span style="color: #a31515;"&gt;"attachment;filename=" &lt;/span&gt;+ &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Server.HtmlEncode(fileName) + &lt;span style="color: #a31515;"&gt;".txt"&lt;/span&gt;);&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.ContentType = &lt;span style="color: #a31515;"&gt;"text/plain"&lt;/span&gt;;&lt;br/&gt;    page.EnableViewState = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.Write(sb.ToString());&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.End();&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;/// &lt;/span&gt;&lt;span style="color: green;"&gt;取数组的最大值&lt;br/&gt;&lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;/// &amp;lt;param name="arr"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;private static int &lt;/span&gt;ArrayMaxValue(&lt;span style="color: blue;"&gt;int&lt;/span&gt;[] arr)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: blue;"&gt;int &lt;/span&gt;maxInt = arr[0];&lt;br/&gt;    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; arr.Length; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;if &lt;/span&gt;(arr[i] &amp;gt; maxInt)&lt;br/&gt;        {&lt;br/&gt;            maxInt = arr[i];&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue;"&gt;return &lt;/span&gt;maxInt;&lt;br/&gt;}&lt;p&gt;在上面的方法中，应该可以改正减少很多代码，如果感兴趣的朋友可以修改。方法中，我使用的是字符串的字节长度，而不是字符串的长度，如果使用字符串长度，一个英文字母和一个汉字的长度都是1，显然汉字要宽。我发现一个汉字的宽度和2个英文字母的宽度差不多（看着差不多），一个汉字又等于2个字节，所以就是用了字节长度。&lt;/p&gt;&lt;p&gt;最后，导出的效果如下图所示：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201060017556722.png"&gt;&lt;img style="display: inline; border-width: 0px;" title="QQ截图20120105235429" src="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201060017569381.png" alt="QQ截图20120105235429" width="510" height="282" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="color: blue;"&gt;public static void &lt;/span&gt;ToTxt(&lt;span style="color: #2b91af;"&gt;DataSet &lt;/span&gt;ds, &lt;span style="color: blue;"&gt;string &lt;/span&gt;fileName, &lt;span style="color: #2b91af;"&gt;Page &lt;/span&gt;page)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;StringBuilder &lt;/span&gt;sb = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataTable &lt;/span&gt;table = ds.Tables[0];&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataRowCollection &lt;/span&gt;rows = table.Rows;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;DataColumnCollection &lt;/span&gt;columns = table.Columns;&lt;br/&gt;    &lt;span style="color: blue;"&gt;int &lt;/span&gt;rowCount = rows.Count;&lt;br/&gt;    &lt;span style="color: blue;"&gt;int &lt;/span&gt;columnCount = columns.Count;&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: blue;"&gt;int &lt;/span&gt;k = 1;&lt;br/&gt;    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; rows.Count; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue;"&gt;decimal &lt;/span&gt;factSalary = &lt;span style="color: #2b91af;"&gt;Convert&lt;/span&gt;.ToDecimal(rows[i][&lt;span style="color: #a31515;"&gt;"FactSalary"&lt;/span&gt;]);&lt;br/&gt;        &lt;span style="color: blue;"&gt;int &lt;/span&gt;a = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)(factSalary - factSalary % 5000) / 5000;&lt;br/&gt;        &lt;span style="color: blue;"&gt;if &lt;/span&gt;(a &amp;gt; 0)&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; a; j++)&lt;br/&gt;            {&lt;br/&gt;                sb.Append(i + k + j).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;                sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString()).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;                sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString()).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;                sb.Append(5000).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;                sb.Append(&lt;span style="color: #a31515;"&gt;"公务报销"&lt;/span&gt;);&lt;br/&gt;                sb.AppendLine();&lt;br/&gt;            }&lt;br/&gt;            k += a;&lt;br/&gt;            sb.Append(i + k).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString()).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString()).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(factSalary % 5000).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(&lt;span style="color: #a31515;"&gt;"公务报销"&lt;/span&gt;);&lt;br/&gt;            sb.AppendLine();&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: blue;"&gt;else&lt;br/&gt;        &lt;/span&gt;{&lt;br/&gt;            sb.Append(i + k).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"BankNo"&lt;/span&gt;].ToString()).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"EmpName"&lt;/span&gt;].ToString()).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(rows[i][&lt;span style="color: #a31515;"&gt;"FactSalary"&lt;/span&gt;]).Append(&lt;span style="color: #a31515;"&gt;","&lt;/span&gt;);&lt;br/&gt;            sb.Append(&lt;span style="color: #a31515;"&gt;"公务报销"&lt;/span&gt;);&lt;br/&gt;            sb.AppendLine();&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.Clear();&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.Buffer = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.ContentEncoding = System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.UTF8;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.AppendHeader(&lt;span style="color: #a31515;"&gt;"Content-Disposition"&lt;/span&gt;, &lt;span style="color: #a31515;"&gt;"attachment;filename=" &lt;/span&gt;+ &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Server.HtmlEncode(fileName) + &lt;span style="color: #a31515;"&gt;".txt"&lt;/span&gt;);&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.ContentType = &lt;span style="color: #a31515;"&gt;"text/plain"&lt;/span&gt;;&lt;br/&gt;    page.EnableViewState = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.Write(sb.ToString());&lt;br/&gt;    &lt;span style="color: #2b91af;"&gt;HttpContext&lt;/span&gt;.Current.Response.End();&lt;br/&gt;}&lt;p&gt;第二个问题就是导出的每个TXT中，总的金额不能超过10万，单笔不能超过5000，如果超过5000，就要进行拆分。&lt;/p&gt;&lt;p&gt;我写了一个方法实现了单笔超过5000的进行拆分，但是一个TXT中总金额不超过10万，还没有写，一种解决方案就是先创建一个文件，将不超过10万的导入到这个文件中，然后再创建一个文件，继续导入到这个文件中，如此，直到导出完成。&lt;/p&gt;&lt;p&gt;稍微修改上面的DataSet数据，金额分别修改为6000,5001,10001最后导出的效果如下图所示：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201060017598834.png"&gt;&lt;img style="display: inline; border: 0px;" title="QQ截图20120106001544" src="http://images.cnblogs.com/cnblogs_com/nianming/201201/201201060018002573.png" alt="QQ截图20120106001544" width="490" height="283" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;时间不早了，希望园子里的朋友能给出更好的解决方案，谢谢了！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2313837.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2012/01/06/2313837.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2011/12/31/2309219.html</id><title type="text">工作两个周的一点总结</title><summary type="text">元旦放假三天，终于有时间可以歇一歇了。到现在已经工作两个周了，这期间如果用一个字形容是：忙，用另外一个字形容就是：累。 入职第一天，项目经理给我简单的介绍了一下公司使用的框架，然后给我分配了一个任务练练手，完成目前正在做的项目的基础数据部分最简单的增删查改，还好，照着现有的例子很快就完成了。就这样，从第一天开始就参与到项目中来，每天都有任务。工作之前，我还有一个项目没有完成，只能在晚上8点到11...</summary><published>2011-12-31T15:42:00Z</published><updated>2011-12-31T15:42:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2011/12/31/2309219.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2011/12/31/2309219.html"/><content type="html">&lt;p&gt;元旦放假三天，终于有时间可以歇一歇了。到现在已经工作两个周了，这期间如果用一个字形容是：忙，用另外一个字形容就是：累。&lt;/p&gt;  &lt;p&gt;入职第一天，项目经理给我简单的介绍了一下公司使用的框架，然后给我分配了一个任务练练手，完成目前正在做的项目的基础数据部分最简单的增删查改，还好，照着现有的例子很快就完成了。就这样，从第一天开始就参与到项目中来，每天都有任务。工作之前，我还有一个项目没有完成，只能在晚上8点到11点抽出仅有的3个小时来完成。以前在学校的时候，中午还可以看个电影，现在我已经两周没看电影了，明天回学校，看看我们网络中心的孩子们，有些想他们了。&lt;/p&gt;  &lt;p&gt;我们目前做的是某集团的薪酬考评系统，前几天涉及到计算个人所得税的问题，也没有什么好的计算方法，下面给出我的方法，如果大家有什么好的方法，恳请指教。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;问题描述：&lt;/strong&gt;有两个表，一个父表，一个子表，用来存储个税税率设置。在父表中可以存储多个个税税率设置，有一个“起征额”字段，子表存储每个个税税率设置的详细信息，如下面两个表所示：&lt;/p&gt;  &lt;p&gt;&lt;b&gt;现行个税9级超额累进税率&lt;/b&gt;&lt;/p&gt;  &lt;table style="text-align: left" border="1" cellspacing="0" cellpadding="2" width="439"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税所得额&lt;/td&gt;        &lt;td valign="top" width="44"&gt;税率%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;速算扣除数（元）&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额不超过500元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;5%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过500元至2000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;10%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;25&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过2000元至5000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;15%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;125&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过5000元至20000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;20%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;375&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过20000元至40000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;25%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;1375&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过40000元至60000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;30%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;3375&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过60000元至80000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;35%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;6375&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过80000元至100000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;40%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;10375&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过100000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;45%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;15375&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;b&gt;2011年&lt;b&gt;9&lt;/b&gt;&lt;/b&gt;&lt;b&gt;月1日起调整后的7级超额累进税率：&lt;/b&gt;&lt;/p&gt;  &lt;table style="text-align: left" border="1" cellspacing="0" cellpadding="2" width="437"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税所得额&lt;/td&gt;        &lt;td valign="top" width="44"&gt;税率%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;速算扣除数（元）&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额不超过1500元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;3%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过1500元至4500元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;10%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;105&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过4500元至9000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;20%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;555&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过9000元至35000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;25%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;1005&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过35000元至55000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;30%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;2755&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过55000元至80000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;35%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;5505&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="266"&gt;全月应纳税额超过80000元&lt;/td&gt;        &lt;td valign="top" width="44"&gt;45%&lt;/td&gt;        &lt;td valign="top" width="127"&gt;13505&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;具体可以参考百度百科：&lt;a href="http://baike.baidu.com/view/118.htm"&gt;个人所得税&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;我的计算方法：&lt;/strong&gt;为了方便起见，我用控制台写了一个例子。&lt;/p&gt;  &lt;p&gt;首先定义两个类：&lt;/p&gt;  &lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTax&lt;br/&gt;&lt;/span&gt;{&lt;br/&gt;    &lt;span style="color: blue"&gt;public string &lt;/span&gt;Id { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;起征额&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public decimal &lt;/span&gt;StartMoney { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;&amp;gt; IncomeTaxDetailList { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;br/&gt;&lt;/span&gt;{&lt;br/&gt;    &lt;span style="color: blue"&gt;public string &lt;/span&gt;Id { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;最低&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public decimal &lt;/span&gt;MinMoney { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;最高&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public decimal &lt;/span&gt;MaxMoney { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;税率&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public decimal &lt;/span&gt;TaxRate { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/span&gt;&lt;span style="color: green"&gt;速扣数&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public decimal &lt;/span&gt;KouMoney { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTax &lt;/span&gt;IncomeTax { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;br/&gt;}&lt;p&gt;在Mian方法中初始化：&lt;/p&gt;&lt;span style="color: #2b91af"&gt;IncomeTax &lt;/span&gt;it_7 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTax&lt;/span&gt;()&lt;br/&gt;{&lt;br/&gt;    Id = &lt;span style="color: #a31515"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;,&lt;br/&gt;    StartMoney = 3500,&lt;br/&gt;    IncomeTaxDetailList = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;&amp;gt;()&lt;br/&gt;    {&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){ Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_1&amp;quot;&lt;/span&gt;,MinMoney=0,MaxMoney=1500,TaxRate=0.03m,KouMoney=0},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_2&amp;quot;&lt;/span&gt;,MinMoney=1500,MaxMoney=4500,TaxRate=0.1m,KouMoney=105},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_3&amp;quot;&lt;/span&gt;,MinMoney=4500,MaxMoney=9000,TaxRate=0.2m,KouMoney=555},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_4&amp;quot;&lt;/span&gt;,MinMoney=9000, MaxMoney=35000,TaxRate=0.25m,KouMoney=1005},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_5&amp;quot;&lt;/span&gt;,MinMoney=35000,MaxMoney=55000,TaxRate=0.3m,KouMoney=2755},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_6&amp;quot;&lt;/span&gt;,MinMoney=55000, MaxMoney=80000,TaxRate=0.35m,KouMoney=5505},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;7_7&amp;quot;&lt;/span&gt;,MinMoney=80000,TaxRate=0.45m,KouMoney=13505}&lt;br/&gt;    }&lt;br/&gt;};&lt;br/&gt;&lt;br/&gt;&lt;span style="color: #2b91af"&gt;IncomeTax &lt;/span&gt;it_9 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTax&lt;/span&gt;()&lt;br/&gt;{&lt;br/&gt;    Id = &lt;span style="color: #a31515"&gt;&amp;quot;2&amp;quot;&lt;/span&gt;,&lt;br/&gt;    StartMoney = 2000,&lt;br/&gt;    IncomeTaxDetailList = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;&amp;gt;()&lt;br/&gt;    {&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){ Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_1&amp;quot;&lt;/span&gt;,MinMoney=0,MaxMoney=500,TaxRate=0.05m,KouMoney=0},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_2&amp;quot;&lt;/span&gt;,MinMoney=500,MaxMoney=2000,TaxRate=0.1m,KouMoney=25},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_3&amp;quot;&lt;/span&gt;,MinMoney=2000,MaxMoney=5000,TaxRate=0.15m,KouMoney=125},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_4&amp;quot;&lt;/span&gt;,MinMoney=5000,MaxMoney=20000,TaxRate=0.2m,KouMoney=375},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_4&amp;quot;&lt;/span&gt;,MinMoney=20000,MaxMoney=40000,TaxRate=0.25m,KouMoney=1375},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_5&amp;quot;&lt;/span&gt;,MinMoney=40000,MaxMoney=60000,TaxRate=0.3m,KouMoney=3375},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_6&amp;quot;&lt;/span&gt;,MinMoney=60000,MaxMoney=80000,TaxRate=0.35m,KouMoney=6375},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_7&amp;quot;&lt;/span&gt;,MinMoney=80000,MaxMoney=100000,TaxRate=0.4m,KouMoney=10375},&lt;br/&gt;       &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;(){Id=&lt;span style="color: #a31515"&gt;&amp;quot;9_7&amp;quot;&lt;/span&gt;,MinMoney=100000,TaxRate=0.45m,KouMoney=15375}&lt;br/&gt;    }&lt;br/&gt;};&lt;p&gt;计算个人所得税方法：&lt;/p&gt;&lt;p&gt;{（总工资）-（三险一金）-（免征额）}*税率-速扣数=个人所得税。&lt;/p&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;/// &lt;/span&gt;&lt;span style="color: green"&gt;计算个人所得税&lt;br/&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;taxSalary&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;计税工资&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;startMoney&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;起征额&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;list&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;个税税率列表&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;taxMoney&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;输出个人所得税&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;public static void &lt;/span&gt;CalculateIncomeTax(&lt;span style="color: blue"&gt;decimal &lt;/span&gt;taxSalary, &lt;span style="color: blue"&gt;decimal &lt;/span&gt;startMoney, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;&amp;gt; list, &lt;span style="color: blue"&gt;out decimal &lt;/span&gt;taxMoney)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: blue"&gt;decimal &lt;/span&gt;exceedSalary = taxSalary - startMoney;&lt;br/&gt;    &lt;span style="color: blue"&gt;var &lt;/span&gt;detailList = list.OrderBy(itd =&amp;gt; itd.TaxRate).ToList();&lt;br/&gt;&lt;br/&gt;    taxMoney = 0;&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(exceedSalary &amp;lt;= detailList[0].MaxMoney)&lt;br/&gt;    {&lt;br/&gt;        taxMoney = exceedSalary * detailList[0].TaxRate - detailList[0].KouMoney;&lt;br/&gt;        &lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(exceedSalary &amp;gt; detailList[detailList.Count - 1].MinMoney)&lt;br/&gt;    {&lt;br/&gt;        taxMoney = exceedSalary * detailList[detailList.Count - 1].TaxRate - detailList[detailList.Count - 1].KouMoney;&lt;br/&gt;        &lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue"&gt;for &lt;/span&gt;(&lt;span style="color: blue"&gt;int &lt;/span&gt;i = 0; i &amp;lt; detailList.Count - 2; i++)&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color: blue"&gt;if &lt;/span&gt;(detailList[i].MaxMoney &amp;lt; exceedSalary &amp;amp;&amp;amp; exceedSalary &amp;lt;= detailList[i + 1].MaxMoney)&lt;br/&gt;        {&lt;br/&gt;            taxMoney = exceedSalary * detailList[i + 1].TaxRate - detailList[i + 1].KouMoney;&lt;br/&gt;            &lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;}&lt;p&gt;下面在Main方法中，测试一下两种税率情况下的个人所得税吧，假设计税工资为6000&lt;/p&gt;&lt;span style="color: green"&gt;//计税工资=总工资-三险一金&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;decimal &lt;/span&gt;taxSalary = 6000;&lt;br/&gt;&lt;span style="color: green"&gt;//起征额&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;decimal &lt;/span&gt;startMoney_7 = it_7.StartMoney;&lt;br/&gt;&lt;span style="color: blue"&gt;decimal &lt;/span&gt;startMoney_9 = it_9.StartMoney;&lt;br/&gt;&lt;br/&gt;&lt;span style="color: blue"&gt;decimal &lt;/span&gt;taxMoney;&lt;br/&gt;CalculateIncomeTax(taxSalary, startMoney_7, it_7.IncomeTaxDetailList, &lt;span style="color: blue"&gt;out &lt;/span&gt;taxMoney);&lt;br/&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;7级超额累进税率时的个人所得税是:&amp;quot; &lt;/span&gt;+ taxMoney);&lt;br/&gt;CalculateIncomeTax(taxSalary, startMoney_9, it_9.IncomeTaxDetailList, &lt;span style="color: blue"&gt;out &lt;/span&gt;taxMoney);&lt;br/&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;9级超额累进税率时的个人所得税是:&amp;quot; &lt;/span&gt;+ taxMoney);&lt;p&gt;运行结果如下图所示：&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201112/201112312341326061.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="QQ截图20111231230930" border="0" alt="QQ截图20111231230930" src="http://images.cnblogs.com/cnblogs_com/nianming/201112/201112312341326519.png" width="484" height="318" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;另外计算个人所得税的方法还有另外一种方法：&lt;/p&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;/// &lt;/span&gt;&lt;span style="color: green"&gt;计算个人所得税&lt;br/&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;taxSalary&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;计税工资&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;startMoney&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;起征额&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;list&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;个税税率列表&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;/// &amp;lt;param name=&amp;quot;taxMoney&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;输出个人所得税&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;public static void &lt;/span&gt;CalculateIncomeTax(&lt;span style="color: blue"&gt;decimal &lt;/span&gt;taxSalary, &lt;span style="color: blue"&gt;decimal &lt;/span&gt;startMoney, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IncomeTaxDetail&lt;/span&gt;&amp;gt; list, &lt;span style="color: blue"&gt;out decimal &lt;/span&gt;taxMoney)&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: blue"&gt;decimal &lt;/span&gt;exceedSalary = taxSalary - startMoney;&lt;br/&gt;&lt;br/&gt;    &lt;span style="color: blue"&gt;var &lt;/span&gt;tmp = list.OrderBy(itd =&amp;gt; itd.TaxRate).Where(itd =&amp;gt; itd.MaxMoney &amp;gt;= exceedSalary &amp;amp;&amp;amp; itd.MinMoney &amp;lt; exceedSalary).ToList();&lt;br/&gt;    &lt;span style="color: blue"&gt;if &lt;/span&gt;(tmp.Count &amp;gt; 0)&lt;br/&gt;    {&lt;br/&gt;        taxMoney = exceedSalary * tmp[0].TaxRate - tmp[0].KouMoney;&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue"&gt;else&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;        taxMoney = exceedSalary * list[list.Count - 1].TaxRate - list[list.Count - 1].KouMoney;&lt;br/&gt;    }&lt;br/&gt;}&lt;p&gt;今天就写到这吧，祝大家新年快乐！&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/nianming/201112/201112312341339484.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="祝大家2012新年快乐" border="0" alt="祝大家2012新年快乐" src="http://images.cnblogs.com/cnblogs_com/nianming/201112/201112312341343322.jpg" width="349" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2309219.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2011/12/31/2309219.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2011/12/15/2288759.html</id><title type="text">我的面试经过、结果以及感悟</title><summary type="text">上周四结束了大学里的最后一门考试，接下来的任务就是找工作。下面是我找工作的经历：投简历周六晚上在HR伴侣、前程无忧、智联招聘上，搜索青岛关于.net的招聘信息，找到感觉合适的岗位投递简历，投了十几家。周日上午去学校的招聘会上打酱油。中午吃饭的时候，看到126的邮箱有一封面试通知的邮件，欣喜。面试周一6点40起床，到青岛市政府已经9点40多，呼呼，10点面试肯定要迟到了，于是给公司打电话说可能要迟到一会。在市政府等车时，接到另外两家公司的面试通知，一家安排到下午，另一家安排到第二天上午。 10点多到达公司，首先做了几个题，然后他们三个就和我聊了起来，感觉还挺轻松，一直聊到12点半左右。出来之后，</summary><published>2011-12-15T05:26:00Z</published><updated>2011-12-15T05:26:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2011/12/15/2288759.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2011/12/15/2288759.html"/><content type="html">&lt;p&gt;上周四结束了大学里的最后一门考试，接下来的任务就是找工作。下面是我找工作的经历：&lt;/p&gt;&lt;h3 style="background-color: #bbb;"&gt;&lt;span style="color: #ffffff;"&gt;&lt;span style="font-weight: bold;"&gt;投简历&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #a5a5a5; font-family: 方正舒体; font-size: large;"&gt;周六&lt;/span&gt;晚上在&lt;a href="http://www.hrbanlv.com/" target="_blank"&gt;HR伴侣&lt;/a&gt;、&lt;a href="http://www.51job.com/" target="_blank"&gt;前程无忧&lt;/a&gt;、&lt;a href="http://www.zhaopin.com/" target="_blank"&gt;智联招聘&lt;/a&gt;上，搜索青岛关于.net的招聘信息，找到感觉合适的岗位投递简历，投了十几家。&lt;/p&gt;&lt;p&gt;&lt;span style="color: #a5a5a5; font-family: 方正舒体; font-size: large;"&gt;周日&lt;/span&gt;上午去学校的招聘会上打酱油。中午吃饭的时候，看到126的邮箱有一封面试通知的邮件，欣喜。&lt;/p&gt;&lt;h3 style="background-color: #bbb;"&gt;&lt;span style="font-weight: bold; color: #ffffff;"&gt;面试&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #a5a5a5; font-family: 方正舒体; font-size: large;"&gt;周一&lt;/span&gt;6点40起床，到青岛市政府已经9点40多，呼呼，10点面试肯定要迟到了，于是给公司打电话说可能要迟到一会。在市政府等车时，接到另外两家公司的面试通知，一家安排到下午，另一家安排到第二天上午。 10点多到达公司，首先做了几个题，然后他们三个就和我聊了起来，感觉还挺轻松，一直聊到12点半左右。出来之后，就要面试下一家公司了。1点半面试，我坐公交车大概30分钟，又走了一段路，到达公司，已经1点20了。我前面有一个人面试，等了一会，就轮到我了.首先HR经理给我介绍了一些公司的情况，待遇方面的事情，问了我一些问题，然后技术经理面试，他看着我的简历问了我很多问题，速度挺快，有两个问题没答出来，其中一个问我NHibernate通过什么映射，当时懵了，不过结果感觉还不错。出来之后，想想通过什么映射的呢，好一会都懵着呢，清醒之后，想想应该问的是NHibernate的映射方式吧！回到学校后又有一个公司给我打电话，问我明天下午有时间吗，我说有面试，最后确定是面试完前面的公司再去面试。&lt;/p&gt;&lt;p&gt;&lt;span style="color: #a5a5a5; font-family: 方正舒体; font-size: large;"&gt;周二&lt;/span&gt;早晨6点30起床，去市南软件园一家公司。这家公司给我的感觉不错，首先做了5页的题，我很快就做完了，然后面试，问了一些问题，出来之后已经11点了。在电梯里接到另一家公司的面试电话，正好接着去面试吧。在这期间又接到一家公司的面试电话，说好下午过去面试。最好还面试了昨天回学校之后通知我的那家公司。另外一家公司太远，没有时间过去，就没有去。&lt;/p&gt;&lt;p&gt;就这样我收到了8家（邮箱还有一家）公司的面试通知，2天面试了6家公司，效率应该是挺高的。&lt;/p&gt;&lt;h3 style="background-color: #bbb;"&gt;&lt;span style="font-weight: bold; color: #ffffff;"&gt;结果&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #a5a5a5; font-family: 方正舒体; font-size: large;"&gt;周三&lt;/span&gt;上午接到了一家公司的面试通过的电话，下午接到了2家，&lt;span style="color: #a5a5a5; font-family: 方正舒体; font-size: large;"&gt;今天&lt;/span&gt;接到了1家。最后我选择了第一家给我打电话的，虽然是家小公司。&lt;/p&gt;&lt;h3 style="background-color: #bbb;"&gt;&lt;span style="font-weight: bold; color: #ffffff;"&gt;感悟&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;通过这次找工作的经历，我有很多的体会。&lt;/p&gt;&lt;p&gt;首先，我投的简历太多，没有具体的针对性。&lt;/p&gt;&lt;p&gt;第二，通过面试发现很多东西学的不彻底，理解的不够深刻。&lt;/p&gt;&lt;p&gt;第三，终于找到组织了，呵呵。&lt;/p&gt;&lt;p&gt;目前，我还没有毕业，只能留在青岛，青岛是一个美丽的城市，但就软件业来说工资相对来说较低，但是消费水平却不低。也许，我应该去北京闯一闯，不试试怎么知道自己怎么样。在毕业前的这几个月，我会好好的呆在这个公司，努力学习，努力工作，踏踏实实的。以后的路还很长，我会努力的，在此，谢谢我博客园的朋友们的关心和帮助。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2288759.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2011/12/15/2288759.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/nianming/archive/2011/12/02/2272688.html</id><title type="text">我只是一个还没毕业的孩子</title><summary type="text">曾经无数次地告诉自己，我只是一个还没毕业的孩子，毕业还离我很遥远，可是转眼间我就要离开校园，走向社会了。还记得大学刚开始（2008年）的时候每天都会去图书馆，弄本Photoshop的书来看。大一下学期的时候，我接触到了C#，从此一发不可收拾，下面是从大二开始回忆的一些片段：大二上学期开学第一天，我抱着一本C#书去教室看，整个教室就我一个人。不管去哪里包里都放着一本C#书。图书馆新到的C#书，我第一时间借出来，翻几遍再还回去。班主任让我和另一个同学做实验室设备管理系统，不会，不了了之。大二下学期蜗居宿舍，看C#视频，继续学习C#。大三上学期继续蜗居宿舍，学习C#，ASP.NET，SQL Serv</summary><published>2011-12-02T13:21:00Z</published><updated>2011-12-02T13:21:00Z</updated><author><name>田念明</name><uri>http://www.cnblogs.com/nianming/</uri></author><link rel="alternate" href="http://www.cnblogs.com/nianming/archive/2011/12/02/2272688.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/nianming/archive/2011/12/02/2272688.html"/><content type="html">&lt;p&gt;曾经无数次地告诉自己，我只是一个还没毕业的孩子，毕业还离我很遥远，可是转眼间我就要离开校园，走向社会了。&lt;/p&gt;&lt;p&gt;还记得大学刚开始（2008年）的时候每天都会去图书馆，弄本Photoshop的书来看。大一下学期的时候，我接触到了C#，从此一发不可收拾，下面是从大二开始回忆的一些片段：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大二上学期&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;开学第一天，我抱着一本C#书去教室看，整个教室就我一个人。&lt;/p&gt;&lt;p&gt;不管去哪里包里都放着一本C#书。&lt;/p&gt;&lt;p&gt;图书馆新到的C#书，我第一时间借出来，翻几遍再还回去。&lt;/p&gt;&lt;p&gt;班主任让我和另一个同学做实验室设备管理系统，不会，不了了之。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大二下学期&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;蜗居宿舍，看C#视频，继续学习C#。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大三上学期&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;继续蜗居宿舍，学习C#，ASP.NET，SQL Server。&lt;/p&gt;&lt;p&gt;去培训游戏，费用太高，放弃。&lt;/p&gt;&lt;p&gt;学习Silverlight，看英文书籍，半途放弃。&lt;/p&gt;&lt;p&gt;课程设计用WinForm做了一个宿舍管理系统，自我感觉良好。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大三寒假&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;寒假两个月，在被窝里完成了计算机基础教学网。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大三下学期&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;开学第一天进入学校网络管理中心。&lt;/p&gt;&lt;p&gt;第一份兼职，完成了一个工作监督系统。&lt;/p&gt;&lt;p&gt;使用SetchUp建模了我们的校园。&lt;/p&gt;&lt;p&gt;给学校国资处完成了设备报修系统。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大三暑假&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;暑假留校，在网络中心老师带领下开发成教管理系统。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ffffff;"&gt;大四上学期&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;开学第一天去兼职工作。&lt;/p&gt;&lt;p&gt;学习ASP.NET MVC3，EntityFramework，NHibernate。&lt;/p&gt;&lt;p&gt;学校六十年校庆，做了一个文字直播系统用于开幕式上。&lt;/p&gt;&lt;p&gt;&amp;hellip;&lt;/p&gt;&lt;p&gt;不知不觉中，我不再是一个孩子，没有了当年的狂妄不羁，渐渐地变得成熟稳重，有了责任感，有了目标。&lt;/p&gt;&lt;p&gt;2011年我不只是一个没有毕业的孩子。&lt;/p&gt;&lt;p&gt;这学期开始没多久，大大小小的招聘会，宣讲会如期而至。我几乎每天都会被问到你找工作了吗，你签了吗？我每次都会笑着说不急，等考试完再找。看着同学忙着找工作，我不急不躁，坚持每天学习。好在下个周就结束大学所有的考试了，那个时候我就可以安心找工作了。&lt;/p&gt;&lt;p&gt;我不算聪明，但是我就是喜欢编程，喜欢研究新技术，所以我才会说学习是一件非常快乐的事情。尽管没有了大清早在学校的小河边背书的惬意，但是我相信自己学习的热情不会减，因为我就是喜欢。&lt;/p&gt;&lt;p&gt;2011年我不再是一个没有毕业的孩子。&lt;/p&gt;&lt;p&gt;我长大了，是该走向社会了，告诉自己，加油！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/nianming/aggbug/2272688.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/nianming/archive/2011/12/02/2272688.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
