<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_只有坚持进取的人，才能对生命无悔。</title><subtitle type="text">意料之中方是 技</subtitle><id>http://feed.cnblogs.com/blog/u/26659/rss</id><updated>2012-01-31T07:18:41Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/26659/rss"/><entry><id>http://www.cnblogs.com/seebook/archive/2012/01/31/2333120.html</id><title type="text">跟随博客园进入2012</title><summary type="text">今天是第一天上，每年第一天上班的时候心中总是有许多感慨，叹息，以及新的激情。叹息的是过去，激情是未来。每年下的决心总是达不到，这几乎成了习惯，习惯又成自然。把哥的岁月磨的乱七八糟，真的纳闷的很，园里有招的哥们，指点一二。</summary><published>2012-01-31T07:03:00Z</published><updated>2012-01-31T07:03:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2012/01/31/2333120.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2012/01/31/2333120.html"/><content type="html">今天是第一天上，每年第一天上班的时候心中总是有许多感慨，叹息，以及新的激情。叹息的是过去，激情是未来。每年下的决心总是达不到，这几乎成了习惯，习惯又成自然。把哥的岁月磨的乱七八糟，真的纳闷的很，园里有招的哥们，指点一二。&lt;img src="http://www.cnblogs.com/seebook/aggbug/2333120.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2012/01/31/2333120.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/07/13/2105462.html</id><title type="text">.NET 中 操作excel 系列--copy功能．</title><summary type="text">在操作excel 中有很多是需要用到copy 功能的．如，单元格里面的函数功能．如果你要在excel中插入一条数据然后在这条数据的最后一列要从上面那一个复制一个相同的函数给他这时就需要用到copy功能了．　在excel　的range 接中有个copy方法．这个方法不紧紧可以拷贝值，样式，宏，函数都可以完整的拷到新的单元格中．</summary><published>2011-07-13T08:32:00Z</published><updated>2011-07-13T08:32:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/07/13/2105462.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/07/13/2105462.html"/><content type="html">&lt;p&gt;在操作excel 中有很多是需要用到copy 功能的．如，单元格里面的函数功能．如果你要在excel中插入一条数据然后在这条数据的最后一列要从上面那一个复制一个相同的函数给他这时就需要用到copy功能了．　在excel　的range 接中有个copy方法．这个方法不紧紧可以拷贝值，样式，宏，函数都可以完整的拷到新的单元格中．&lt;/p&gt;&lt;p&gt;如下代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;插行（在指定WorkSheet指定行上面插入指定数量行）&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&amp;nbsp;"rowIndex&amp;nbsp;"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;从哪行开始插入&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param&amp;nbsp;name="funcColumnIndex"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;函数所在列&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&amp;nbsp;"count&amp;nbsp;"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;插入数量&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;InsertRows(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;rowIndex,&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;funcColumnIndex,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;count)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Microsoft.Office.Interop.Excel.Application&amp;nbsp;excel&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Microsoft.Office.Interop.Excel.Workbooks&amp;nbsp;wbs&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Microsoft.Office.Interop.Excel.Workbook&amp;nbsp;wb&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Microsoft.Office.Interop.Excel.Worksheet&amp;nbsp;ws&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Nothing&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Reflection.Missing.Value;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;try&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excel&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Microsoft.Office.Interop.Excel.Application();&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excel.UserControl&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excel.DisplayAlerts&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;false&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excel.Application.Workbooks.Open(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;D:\\TEST.xls&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;Nothing,&amp;nbsp;Nothing,&amp;nbsp;Nothing,&amp;nbsp;Nothing,&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nothing,Nothing,Nothing,Nothing,Nothing,&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nothing,Nothing,Nothing);&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbs&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;excel.Workbooks;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;wbs[&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;每一个workbook&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;(Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Sheet1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;表格名这&amp;nbsp;Sheeet1&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Range&amp;nbsp;range&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(Range)ws.Rows[rowIndex,Type.Missing];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Range&amp;nbsp;sourceRg&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;((Range)range.Cells[&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;funcColumnIndex]);&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;将被复制的函数&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;count;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Insert(XlInsertShiftDirection.xlShiftDown,&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;插入新行&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;funcColumnIndex;&amp;nbsp;j&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;给前面的几个单元格随便输入一些值．&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells[rowIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i,&amp;nbsp;j]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;j;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sourceRg.Copy(ws.Cells[rowIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i,&amp;nbsp;funcColumnIndex]);&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;复制到目标单元格(最后一列)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;catch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(Exception&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;throw&lt;span  style="color: #000000; "&gt;&amp;nbsp;e;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="white-space:pre"&gt;	&lt;/span&gt;&lt;span  style="font-family: verdana, 'courier new'; line-height: 21px; font-size: 14px; "&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;}&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&amp;nbsp;同理，excel 的worksheet 和　row 都可以这样拷贝．&lt;span  style="font-family: 宋体; line-height: 21px; font-size: 14px; "&gt;如&lt;/span&gt;&lt;span  style="font-family: 宋体; line-height: 21px; font-size: 14px; "&gt;果要只拷贝单元格中的文本呢？那就要用到windows剪贴板了，下面是从网上拷贝下来的．&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-family: 宋体; line-height: 21px; font-size: 14px; "&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;p align="left" style="margin-top: 0mm; margin-right: 0mm; margin-bottom: 0pt; margin-left: 0mm; text-align: left; "&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;　xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);&lt;p&gt;&lt;/p&gt;&lt;p&gt;Excel.Range range = xlSheet.get_Range("A1", Type.Missing);range.Value = "123";&lt;/p&gt;&lt;p&gt;System.Windows.Forms.Clipboard.SetDataObject(range.Value.ToString());&lt;/p&gt;&lt;p&gt;Excel.Worksheet sheet1 = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(2);Excel.Range range1 = sheet1.get_Range("B1", Type.Missing);sheet1.Paste(range1, false);&lt;span  style="font-family: 宋体; line-height: 21px; font-size: 14px; "&gt;要注意的是，这种方式只能选一个单元格，复制一个，不能选定一批单元格进行复制。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/2105462.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/07/13/2105462.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/07/13/2105419.html</id><title type="text">.NET 中 操作excel 系列--导入与导出.</title><summary type="text">.NET 中 操作excel 导入,导出功能 总结 在 开发中很多时候都要用导入与导出EXCEL 的功能.这两天一直做一些有关这方面 的东西.其中用到很多的导入,导出功,在GOOGLE ,BAIDU 里面搜索了一下,DEMO还真不少.一抓一大把.其中在网上找到这样的一个系列的导出功</summary><published>2011-07-13T08:06:00Z</published><updated>2011-07-13T08:06:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/07/13/2105419.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/07/13/2105419.html"/><content type="html">&lt;p&gt;在 开发中很多时候都要用导入与导出EXCEL 的功能.这两天一直做一些有关这方面 的东西.其中用到很多的导入,导出功,在GOOGLE ,BAIDU 里面搜索了一下,DEMO还真不少.一抓一大把.&lt;/p&gt;&lt;p&gt;其中在网上找到这样的一个系列的导出功能:&lt;/p&gt;&lt;div&gt;&lt;span style="font-family: verdana, 'ms song', 宋体, Arial, 微软雅黑, Helvetica, sans-serif; line-height: normal; font-size: 12px; "&gt;&lt;p&gt;&lt;strong&gt;[转]&lt;a id="ctl03_TitleUrl" href="http://www.cnblogs.com/xiaotao823/archive/2008/09/26/1299364.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #075db3; text-decoration: none; "&gt;C# 将数据导出到Excel汇总&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: both; "&gt;&lt;/div&gt;&lt;div style="margin-top: 5px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 2px; padding-bottom: 5px; padding-left: 5px; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;&lt;div id="cnblogs_post_body" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;一、asp.net中导出Excel的方法：&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;/strong&gt;在asp.net中导出Excel有两种方法，一种是将导出的文件存放在服务器某个文件夹下面，然后将文件地址输出在浏览器上；一种是将文件直接将文件输出流写给浏览器。在Response输出时，t分隔的数据，导出Excel时，等价于分列，n等价于换行。&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;u style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;1、将整个html全部输出&lt;/u&gt;&lt;/strong&gt;Excel&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;此法将html中所有的内容，如按钮，表格，图片等全部输出到Excel中。&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Clear();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Buffer=&amp;nbsp;&amp;nbsp; true;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.AppendHeader("Content-Disposition","attachment;filename="+DateTime.Now.ToString("yyyyMMdd")+".xls");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.ContentEncoding=System.Text.Encoding.UTF8;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.ContentType&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; "application/vnd.ms-excel";&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.EnableViewState&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;这里我们利用了ContentType属性，它默认的属性为text/html，这时将输出为超文本，即我们常见的网页格式到客户端，如果改为ms-excel将将输出excel格式，也就是说以电子表格的格式输出到客户端，这时浏览器将提示你下载保存。ContentType的属性还包括：image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 。同理，我们也可以输出(导出)图片、word文档等。下面的方法，也均用了这个属性。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;u style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;2、将DataGrid控件中的数据导出&lt;/u&gt;&lt;/strong&gt;Excel&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;上述方法虽然实现了导出的功能，但同时把按钮、分页框等html中的所有输出信息导了进去。而我们一般要导出的是数据，DataGrid控件上的数据。&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;System.Web.UI.Control ctl=this.DataGrid1;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//DataGrid1是你在窗体中拖放的控件&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;HttpContext.Current.Response.Charset ="UTF-8";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;HttpContext.Current.Response.ContentType ="application/ms-excel";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;ctl.Page.EnableViewState =false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;System.IO.StringWriter&amp;nbsp; tw = new System.IO.StringWriter() ;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;ctl.RenderControl(hw);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;HttpContext.Current.Response.Write(tw.ToString());&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;HttpContext.Current.Response.End();&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;如果你的DataGrid用了分页，它导出的是当前页的信息，也就是它导出的是DataGrid中显示的信息。而不是你select语句的全部信息。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;为方便使用,写成方法如下：&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;public void DGToExcel(System.Web.UI.Control ctl)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; HttpContext.Current.Response.Charset ="UTF-8";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; HttpContext.Current.Response.ContentType ="application/ms-excel";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; ctl.Page.EnableViewState =false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; System.IO.StringWriter&amp;nbsp; tw = new System.IO.StringWriter() ;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; ctl.RenderControl(hw);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; HttpContext.Current.Response.Write(tw.ToString());&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; HttpContext.Current.Response.End();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp; }&amp;nbsp;&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; 用法：DGToExcel(datagrid1);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;u style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;3、将DataSet中的数据导出&lt;/u&gt;&lt;/strong&gt;Excel&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;有了上边的思路，就是将在导出的信息，输出（Response）客户端，这样就可以导出了。那么把DataSet中的数据导出，也就是把DataSet中的表中的各行信息，以ms-excel的格式Response到http流，这样就OK了。说明：参数ds应为填充有数据表的DataSet，文件名是全名，包括后缀名，如Excel2006.xls&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;public&amp;nbsp; void CreateExcel(DataSet ds,string FileName)&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;HttpResponse resp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;resp = Page.Response;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;resp.AppendHeader("Content-Disposition", "attachment;filename="+FileName);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;string colHeaders= "", ls_item=""; &amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;//定义表对象与行对象，同时用DataSet对其值进行初始化&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;DataTable dt=ds.Tables[0];&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;DataRow[] myRow=dt.Select();//可以类似dt.Select("id&amp;gt;10")之形式达到数据筛选目的&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i=0;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int cl=dt.Columns.Count;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;//取得数据表各列标题，各标题之间以t分割，最后一个列标题后加回车符&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;for(i=0;i&amp;lt;cl;i++)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;if(i==(cl-1))//最后一列，加n&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;colHeaders +=dt.Columns[i].Caption.ToString() +"n";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;else&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;colHeaders+=dt.Columns[i].Caption.ToString()+"t";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;resp.Write(colHeaders);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;//向HTTP输出流中写入取得的数据信息&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;//逐行处理数据&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;foreach(DataRow row in myRow)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;//当前行数据写入HTTP输出流，并且置空ls_item以便下行数据&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;for(i=0;i&amp;lt;cl;i++)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;if(i==(cl-1))//最后一列，加n&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;ls_item +=row[i].ToString()+"n";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;else&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;ls_item+=row[i].ToString()+"t";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;resp.Write(ls_item);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;ls_item="";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;resp.End();&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;}&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;u style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;4、将dataview导出excel&lt;/u&gt;&lt;/strong&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;若想实现更加富于变化或者行列不规则的excel导出时，可用本法。&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;public void OutputExcel(DataView dv,string str)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //dv为要输出到Excel的数据，str为标题名称&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; GC.Collect();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Application excel;// = new Application();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; int rowIndex=4;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; int colIndex=1;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; _Workbook xBk;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; _Worksheet xSt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; excel= new ApplicationClass();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xBk = excel.Workbooks.Add(true);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt = (_Worksheet)xBk.ActiveSheet;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //取得标题&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; foreach(DataColumn col in dv.Table.Columns)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; colIndex++;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; excel.Cells[4,colIndex] = col.ColumnName;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//设置标题格式为居中对齐&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //取得表格中的数据&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; foreach(DataRowView row in dv)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rowIndex ++;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; colIndex = 1;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach(DataColumn col in dv.Table.Columns)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colIndex ++;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(col.DataType == System.Type.GetType("System.DateTime"))&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; excel.Cells[rowIndex,colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//设置日期型的字段格式为居中对齐&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(col.DataType == System.Type.GetType("System.String"))&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; excel.Cells[rowIndex,colIndex] = "'"+row[col.ColumnName].ToString();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter;//设置字符型的字段格式为居中对齐&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //加载一个合计行&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; int rowSum = rowIndex + 1;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; int colSum = 2;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; excel.Cells[rowSum,2] = "合计";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,2]).HorizontalAlignment = XlHAlign.xlHAlignCenter;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //设置选中的部分的颜色&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex = 19;//设置为浅黄色，共计有56种&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //取得整个报表的标题&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; excel.Cells[2,2] = str;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //设置整个报表的标题格式&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //设置报表表格为最适应宽度&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Select();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Columns.AutoFit();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //设置整个报表的标题为跨列居中&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).Select();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).HorizontalAlignment = XlHAlign.xlHAlignCenterAcrossSelection;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //绘制边框&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,2]).Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;//设置左边线加粗&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,2],excel.Cells[4,colIndex]).Borders[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlThick;//设置上边线加粗&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[rowSum,colIndex]).Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;//设置右边线加粗&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,colIndex]).Borders[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThick;//设置下边线加粗&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //显示效果&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; excel.Visible=true;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; //xSt.Export(Server.MapPath(".")+"&lt;a href="http://www.cnblogs.com/Ihaveadream/admin/file://%22+this.xlfile.text+%22.xls%22,sheetexportactionenum.ssexportactionnone,microsoft.office.interop.owc.sheetexportformat.ssexporthtml/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #075db3; text-decoration: underline; "&gt;"+this.xlfile.Text+".xls",SheetExportActionEnum.ssExportActionNone,Microsoft.Office.Interop.OWC.SheetExportFormat.ssExportHTML&lt;/a&gt;);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xBk.SaveCopyAs(Server.MapPath(".")+"&lt;a href="http://www.cnblogs.com/Ihaveadream/admin/file://%22+this.xlfile.text+%22.xls/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #075db3; text-decoration: underline; "&gt;"+this.xlfile.Text+".xls&lt;/a&gt;");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; ds = null;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xBk.Close(false, null,null);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; excel.Quit();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xBk = null;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; excel = null;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; xSt = null;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GC.Collect();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; string path = Server.MapPath(this.xlfile.Text+".xls");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; System.IO.FileInfo file = new System.IO.FileInfo(path);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.Clear();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.Charset="GB2312";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.ContentEncoding=System.Text.Encoding.UTF8;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; // 添加头信息，为"文件下载/另存为"对话框指定默认文件名&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; // 添加头信息，指定文件大小，让浏览器能够显示下载进度&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.AddHeader("Content-Length", file.Length.ToString());&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; // 指定返回的是一个不能被客户端读取的流，必须被下载&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.ContentType = "application/ms-excel";&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; // 把文件流发送到客户端&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.WriteFile(file.FullName);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; // 停止页面的执行&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; Response.End();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp; 上面的方面，均将要导出的excel数据，直接给浏览器输出文件流，下面的方法是首先将其存到服务器的某个文件夹中，然后把文件发送到客户端。这样可以持久的把导出的文件存起来，以便实现其它功能。&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;u style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;5、将excel文件导出到服务器上，再下载。&lt;/u&gt;&lt;/strong&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;二、winForm中导出Excel的方法：&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;/strong&gt;1、方法1：&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataSet ds=new DataSet();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;da.Fill(ds,"table1");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataTable dt=ds.Tables["table1"];&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;string name=System.Configuration.ConfigurationSettings.AppSettings["downloadurl"].ToString()+DateTime.Today.ToString("yyyyMMdd")+new Random(DateTime.Now.Millisecond).Next(10000).ToString()+".csv";//存放到web.config中downloadurl指定的路径，文件格式为当前日期+4位随机数&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.WriteLine("自动编号,姓名,年龄");&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach(DataRow dr in dt.Rows)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.Close();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(name));&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流，必须被下载&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.WriteFile(name); // 把文件流发送到客户端&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.End();&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;public void Out2Excel(string sTableName,string url)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;Excel.Application oExcel=new Excel.Application();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;Workbooks oBooks;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;Workbook oBook;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;Sheets oSheets;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;Worksheet oSheet;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;Range oCells;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;string sFile="",sTemplate="";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;System.Data.DataTable dt=TableOut(sTableName).Tables[0];&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;sFile=url+"myExcel.xls";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;sTemplate=url+"MyTemplate.xls";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oExcel.Visible=false;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oExcel.DisplayAlerts=false;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//定义一个新的工作簿&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oBooks=oExcel.Workbooks;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oBooks.Open(sTemplate,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing, Type.Missing);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oBook=oBooks.get_Item(1);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oSheets=oBook.Worksheets;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oSheet=(Worksheet)oSheets.get_Item(1);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//命名该sheet&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oSheet.Name="Sheet1";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oCells=oSheet.Cells;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//调用dumpdata过程，将数据导入到Excel中去&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;DumpData(dt,oCells);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//保存&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oSheet.SaveAs(sFile,Excel.XlFileFormat.xlTemplate,Type.Missing,Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oBook.Close(false, Type.Missing,Type.Missing);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//退出Excel，并且释放调用的COM资源&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;oExcel.Quit();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;GC.Collect();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;KillProcess("Excel");&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;private void KillProcess(string processName)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;System.Diagnostics.Process myproc= new System.Diagnostics.Process();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//得到所有打开的进程&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;try&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;foreach (Process thisproc in Process.GetProcessesByName(processName))&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;if(!thisproc.CloseMainWindow())&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;thisproc.Kill();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;catch(Exception Exc)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;throw new Exception("",Exc);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;}&lt;/div&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;2、方法2：&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;protected void ExportExcel()&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridbind();&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(ds1==null) return;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;string saveFileName="";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;bool fileSaved=false;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveFileDialog saveDialog=new SaveFileDialog();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveDialog.DefaultExt ="xls";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveDialog.Filter="Excel文件|*.xls";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveDialog.FileName ="Sheet1";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveDialog.ShowDialog();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveFileName=saveDialog.FileName;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(saveFileName.IndexOf(":")&amp;lt;0) return; //被点了取消&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;excelapp.Workbooks.Open&amp;nbsp;&amp;nbsp; (App.path &amp;amp; 工程进度表.xls)&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Application xlApp=new Excel.Application();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;object missing=System.Reflection.Missing.Value;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(xlApp==null)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show("无法创建Excel对象，可能您的机子未安装Excel");&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Workbooks workbooks=xlApp.Workbooks;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Workbook workbook=workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Worksheet worksheet=(Excel.Worksheet)workbook.Worksheets[1];//取得sheet1&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Range range;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;string oldCaption=Title_label .Text.Trim ();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;long totalCount=ds1.Tables[0].Rows.Count;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;long rowRead=0;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;float percent=0;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;worksheet.Cells[1,1]=Title_label .Text.Trim ();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//写入字段&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int i=0;i&amp;lt;ds1.Tables[0].Columns.Count;i++)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;worksheet.Cells[2,i+1]=ds1.Tables[0].Columns&lt;img alt="Idea [I]" src="http://www.zuoyefeng.com/upload/2006_12/061211141923701.gif" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;.ColumnName;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;range=(Excel.Range)worksheet.Cells[2,i+1];&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Interior.ColorIndex = 15;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Font.Bold = true;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//写入数值&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Caption .Visible = true;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int r=0;r&amp;lt;ds1.Tables[0].Rows.Count;r++)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int i=0;i&amp;lt;ds1.Tables[0].Columns.Count;i++)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;worksheet.Cells[r+3,i+1]=ds1.Tables[0].Rows[r];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowRead++;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;percent=((float)(100*rowRead))/totalCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Caption.Text= "正在导出数据["+ percent.ToString("0.00")&amp;nbsp; +"%]...";&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DoEvents();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;worksheet.SaveAs(saveFileName,missing,missing,missing,missing,missing,missing,missing,missing);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Caption.Visible= false;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Caption.Text= oldCaption;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;range=worksheet.get_Range(worksheet.Cells[2,1],worksheet.Cells[ds1.Tables[0].Rows.Count+2,ds1.Tables[0].Columns.Count]);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight.xlThin,Excel.XlColorIndex.xlColorIndexAutomatic,null);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].LineStyle =Excel.XlLineStyle.xlContinuous;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].Weight =Excel.XlBorderWeight.xlThin;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(ds1.Tables[0].Columns.Count&amp;gt;1)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;range.Borders[Excel.XlBordersIndex.xlInsideVertical].ColorIndex=Excel.XlColorIndex.xlColorIndexAutomatic;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook.Close(missing,missing,missing);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xlApp.Quit();&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span  style="font-family: verdana, 'ms song', 宋体, Arial, 微软雅黑, Helvetica, sans-serif; line-height: 19px; font-size: 13px; "&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong style="color: red; "&gt;导入功能 :&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-family: verdana, 'ms song', 宋体, Arial, 微软雅黑, Helvetica, sans-serif; line-height: normal; font-size: 12px; "&gt;&lt;p&gt;&lt;strong&gt;&lt;a id="ctl03_TitleUrl" href="http://www.cnblogs.com/iamv/archive/2008/02/05/1064877.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #075db3; text-decoration: none; "&gt;asp.net Excel导入&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; clear: both; "&gt;&lt;/div&gt;&lt;div style="margin-top: 5px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 2px; padding-bottom: 5px; padding-left: 5px; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;&lt;div id="cnblogs_post_body" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;1、Excel数据导入到数据库中：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 2em; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #008000; "&gt;该方法实现从Excel中导出数据到DataSet中，其中filepath为Excel文件的绝对路径，sheetname为表示那个Excel表；&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #008000; "&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;public&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;DataSet&amp;nbsp;ExcelDataSource(&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;filepath&amp;nbsp;,&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;sheetname&amp;nbsp;)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" display="none"  document.getelementbyid(?_147_502_open_text?).style.="" document.getelementbyid(?_147_502_closed_image?).style.="" document.getelementbyid(?_147_502_closed_text?).style.="" ;?="" ;="" none?;="" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;strConn;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strConn&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;Provider=Microsoft.Jet.OLEDB.4.0;Data&amp;nbsp;Source=&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;+&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;filepath&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;;Extended&amp;nbsp;Properties=Excel&amp;nbsp;8.0;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OleDbConnection&amp;nbsp;conn&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;OleDbConnection(strConn);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OleDbDataAdapter&amp;nbsp;oada&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;OleDbDataAdapter&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;[&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;+&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;sheetname&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;$]&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;,&amp;nbsp;strConn&amp;nbsp;);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataSet&amp;nbsp;ds&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;DataSet&amp;nbsp;();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oada.Fill&amp;nbsp;(&amp;nbsp;ds&amp;nbsp;);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;return&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;ds&amp;nbsp;;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;上面的代码实现了将Excel中的数据写进DataSet中，实现了这一步后，你可以按照自己的需要对获得DataSet进行处理，需要注意的一个问题是，你必须要指定sheetname，即Excel中的哪一个工作单需要导入，否则会出现错误。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;2、如何从Excel中获得工作单（sheetname）：&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #008000; "&gt;获得Excel中的所有sheetname。&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #008000; "&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;public&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;ArrayList&amp;nbsp;ExcelSheetName&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;filepath&amp;nbsp;)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" display="none"  ;?="" ;="" none?;="" document.getelementbyid(?_76_575_open_text?).style.="" document.getelementbyid(?_76_575_closed_image?).style.="" document.getelementbyid(?_76_575_closed_text?).style.="" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ArrayList&amp;nbsp;al&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;ArrayList&amp;nbsp;();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;strConn;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strConn&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;Provider=Microsoft.Jet.OLEDB.4.0;Data&amp;nbsp;Source=&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;+&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;filepath&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;;Extended&amp;nbsp;Properties=Excel&amp;nbsp;8.0;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OleDbConnection&amp;nbsp;conn&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;OleDbConnection(strConn);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conn.Open&amp;nbsp;();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataTable&amp;nbsp;sheetNames&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;conn.GetOleDbSchemaTable&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" display="none"  ;?="" ;="" none?;="" document.getelementbyid(?_430_453_open_text?).style.="" document.getelementbyid(?_430_453_closed_image?).style.="" document.getelementbyid(?_430_453_closed_text?).style.="" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(System.Data.OleDb.OleDbSchemaGuid.Tables,&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;object&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;[]&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;{&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;,&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;,&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;,&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;TABLE&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;"&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;}&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conn.Close&amp;nbsp;();&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;foreach&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;(&amp;nbsp;DataRow&amp;nbsp;dr&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;in&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;sheetNames.Rows&amp;nbsp;)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" display="none"  ;?="" ;="" none?;="" document.getelementbyid(?_526_558_open_text?).style.="" document.getelementbyid(?_526_558_closed_image?).style.="" document.getelementbyid(?_526_558_closed_text?).style.="" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;{&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;al.Add&amp;nbsp;(&amp;nbsp;dr[&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;2&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;]&amp;nbsp;);&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #0000ff; "&gt;return&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&amp;nbsp;al;&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /&gt;&lt;img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; " /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.5; color: #000000; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; line-height: 1.5em; color: #000000; font-size: 13px; "&gt;还有一种直接读取的方法:&amp;nbsp;&amp;nbsp;&amp;nbsp;直接读取（这种直接读取单元格的方法释放很重要）&lt;/p&gt;&lt;p&gt;protected void ReadExcel(string fileName)&lt;/p&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//saveExcel("d:\\mytest2.xls");&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Microsoft.Office.Interop.Excel.Application excel=null; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Microsoft.Office.Interop.Excel.Workbooks wbs=null; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Microsoft.Office.Interop.Excel.Workbook wb=null; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Microsoft.Office.Interop.Excel.Worksheet ws=null; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Microsoft.Office.Interop.Excel.Range range1=null; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;object Nothing=System.Reflection.Missing.Value; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string value ="";&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{ &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel=new Microsoft.Office.Interop.Excel.Application(); &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel.UserControl=true; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel.DisplayAlerts=false;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel.Application.Workbooks.Open(fileName, Nothing, Nothing, Nothing, Nothing, &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Nothing,Nothing,Nothing,Nothing,Nothing, &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Nothing,Nothing,Nothing); &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wbs=excel.Workbooks; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wb=wbs[1]; &amp;nbsp;//每一个workbook&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ws=(Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets["Sheet1"];//表格名这 Sheeet1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;string path = Server.MapPath(@"tempXLS/"+DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wb.SaveCopyAs(path);//保存&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{//下面是释放资源.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (excel != null)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (wbs != null)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (wb != null)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (ws != null)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (range1 != null)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.Runtime.InteropServices.Marshal.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReleaseComObject(range1);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;range1 = null;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.Runtime.InteropServices.Marshal.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReleaseComObject(ws);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ws = null;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wb.Close(false, Nothing, Nothing);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.Runtime.InteropServices.Marshal.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReleaseComObject(wb);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wb = null;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wbs.Close();&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.Runtime.InteropServices.Marshal.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReleaseComObject(wbs);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wbs = null;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel.Application.Workbooks.Close();&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel.Quit();&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.Runtime.InteropServices.Marshal.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReleaseComObject(excel);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;excel = null;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GC.Collect();&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;先收集一下这些方法,方便以后用到.&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/2105419.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/07/13/2105419.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/03/28/1997593.html</id><title type="text">设置VSS2005使支持通过Internet访问 中the server configuration settings apply only for local databases....问题解决</title><summary type="text">设置VSS2005使支持通过Internet访问 中 会出现这样的问题:the server configuration settings apply only for local databases.To configure the server for this database you will need to run visual sourcesafe admin program on the machine hosting the database</summary><published>2011-03-28T03:57:00Z</published><updated>2011-03-28T03:57:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/03/28/1997593.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/03/28/1997593.html"/><content type="html">&lt;div&gt;&lt;div&gt;&lt;span style="font-size: 17.28px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;span  style="font-size: 17.28px; "&gt;设置VSS2005使支持通过Internet访问 中&lt;/span&gt;&amp;nbsp;会出现这样的问题:&lt;/p&gt;&lt;p&gt;&lt;span style="color: red; "&gt;&lt;strong&gt;the server configuration settings apply only for local databases.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;span  style="font-size: 17.28px; color: red; "&gt;&lt;strong&gt;To configure the server for this database you will need to run visual sourcesafe admin program on the machine hosting the database&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;网上有很多解决这个问题的办法如:&lt;span  style="font-size: 17.28px; "&gt;&lt;a href="http://www.cnblogs.com/DotNet1227/archive/2009/01/01/1366495.html"&gt;http://www.cnblogs.com/DotNet1227/archive/2009/01/01/1366495.html&lt;/a&gt;&lt;/span&gt;&lt;span  style="font-size: 17.28px; "&gt;&amp;nbsp;&amp;nbsp; 在这里的第一,二点,&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-family: Arial; line-height: 21px; font-size: 17.28px; "&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 21pt; text-indent: -21pt; font-size: 13px; line-height: 18px; "&gt;&lt;span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;1.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman'; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;针对问题：完成后打开数据库（因为需要通过&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;INTERNET&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;远程访问&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;VSS&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;，所以打开数据库时不能使用类似于&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;D:\VSS&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;之类的目录名，而应是&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;\\&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;机器名&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;\VSS&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;数据库所在的共享名&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;,&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;例如：&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;\\MyServer\vss&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;，要求数据库；），然后，再进入&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;server-&amp;gt;configure&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;菜单时总是报错&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;,&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;报错信息是&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;:the werver configuration settings apply only for local database.to configgure the server for this database you will need to run visual sourcesafe admin program on the machine hosting the database. "&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 21pt; text-indent: 0px; font-size: 13px; line-height: 18px; "&gt;&lt;span style="font-family: 宋体; "&gt;解决方法：是在设置类似&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;D:\VSS&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;之类的目录共享时，&lt;/span&gt;&lt;span style="font-family: 宋体; color: red; "&gt;把共享的权限设置为完全控制就可以了。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 21pt; text-indent: -21pt; font-size: 13px; line-height: 18px; "&gt;&lt;span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;2.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman'; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;另外在设置&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;Web&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;服务器下的&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; "&gt;Vss&lt;/span&gt;&lt;span style="font-family: 宋体; "&gt;共享目录时应该注意一个细节问题（如图），否刚总是出错无法进行下去。&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span  style="font-family: 宋体; line-height: 12px; font-size: 17.28px; "&gt;　　&lt;img src="http://pic002.cnblogs.com/img/DotNet1227/200901/2009010112512298.gif" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; "  alt="" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;在第二部要注意一点 就是&lt;span style="color: red; "&gt;&lt;strong&gt; \\Rtj\vss &amp;nbsp;这个一定要用计算机名而不能用IP 形式 如: \\192.168.1.6\vss . &amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1997593.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/03/28/1997593.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/03/26/1996337.html</id><title type="text">vss 2005 配置服务器端的时候提示&amp;quot;IIS没有安装&amp;quot;</title><summary type="text">vss 2005 配置服务器端的时候提示"IIS没有安装" 收藏vss 2005 配置服务器端的时候提示"IIS没有安装"VSS服务器装的是 2003系统，在配置 Enable SourceSafe Internet for this compute 的时候提示"Information Services (IIS) could not be configured to use Visual SourceSafe Internet"  IIS没有安装，见鬼明明安装了 IIS 了。重装IIS 重装VSS都不行 见鬼。后来在一个哥们的Blog上看到原来是 是针对 IIS Root ID 为 1  的站点才有效，难怪我的 XP 可以安装 2003 就安装不了。打开IIS 点一下 网站 这里可以看到 有一个 标识符  (如: 195758 ) 这就是IIS 的 ID 号 IIS5是从 1 开始的。而 iis6 就是一个随机的标识符。在IIS本地 XXX（本地计算机）上左击 .=&gt; 所有任务 选 备份/还源配置  创建一个备份 如 123然后就可以在 C:\WINDOWS\</summary><published>2011-03-26T07:35:00Z</published><updated>2011-03-26T07:35:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/03/26/1996337.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/03/26/1996337.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: verdana, sans-serif; line-height: 21px; font-size: 20.16px; "&gt;&lt;p&gt;&lt;strong&gt;&lt;img src="http://blog.csdn.net/images/turnship.gif" border="0" width="15" height="15" alt="转载" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 5px; margin-bottom: 0px; margin-left: -20px; " /&gt;&amp;nbsp; vss 2005 配置服务器端的时候提示"IIS没有安装"&amp;nbsp;&lt;cite style="font-style: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 5px; display: inline; text-decoration: none; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;a href="http://blog.csdn.net/lingxyd_0/archive/2009/12/14/5006919.aspx" title="收藏到我的网摘中，并分享给我的朋友" style="text-decoration: none; color: #770000; font: normal normal normal 12px/normal Tahoma, sans-serif; padding-top: 1px; padding-right: 25px; padding-bottom: 1px; padding-left: 10px; background-image: url(http://blog.csdn.net/images/share-add.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: 0px 0px; background-repeat: no-repeat no-repeat; "&gt;收藏&lt;/a&gt;&lt;/cite&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="float: left; width: 1061px; font-size: 14px; line-height: 25px; "&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;&lt;strong&gt;&lt;span style="line-height: 24px; font-size: small; "&gt;vss 2005 配置服务器端的时候提示"IIS没有安装"&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;VSS服务器装的是 2003系统，在配置 Enable SourceSafe Internet for this compute 的时候提示"Information Services (IIS) could not be configured to use Visual SourceSafe Internet" &amp;nbsp;IIS没有安装，见鬼明明安装了 IIS 了。&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;重装IIS 重装VSS都不行 见鬼。后来在一个哥们的Blog上看到原来是 是针对 IIS Root ID 为 1&amp;nbsp; 的站点才有效，难怪我的 XP 可以安装 2003 就安装不了。&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;打开IIS 点一下 网站 这里可以看到 有一个 标识符&amp;nbsp; (如: 195758 )&amp;nbsp;这就是IIS 的 ID 号 IIS5是从 1 开始的。而 iis6 就是一个随机的标识符。&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;在IIS本地 XXX（本地计算机）上左击 .=&amp;gt; 所有任务 选 备份/还源配置&amp;nbsp; 创建一个备份 如 123&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;然后就可以在 C:\WINDOWS\system32\inetsrv\MetaBack 中有两个文件 123.MD0 和 123.SC0 用记事本把 123.MD0 打开然后把里面的 前面看到的站点标识符 如:195758 全替换成&amp;nbsp;1 再保存，在iIS 中恢复一下，就可以在IIS的&amp;nbsp;网站 这里看到 标识符是 1&amp;nbsp;了。&lt;/p&gt;&lt;p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; "&gt;到此问题得以解决。 &amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1996337.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/03/26/1996337.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/03/21/1990003.html</id><title type="text">ASP.NET MVC 实现二级域名 [转]</title><summary type="text">自从微软发布 ASP.NET MVC 和routing engine (System.Web.Routing)以来，就设法让我们明白你完全能控制URL和routing，只要与你的application path相结合进行扩展，任何问题都迎刃而解。如果你需要在所处的域或者子域处理数据标记的话，强制使用Default。遗憾的是，ASP.NET MVC是基于虚拟目录的，在实际项目却有各种各样的需求方案。例如：1：应用程序是多语言的，像cn.example.com应该被匹配到“www.{language}example.com”路由上。2：应用程序是多用户的，像username.example.com应该被匹配到“www.{clientname}.example.com”路由上。3：应用程序是多子域的，像mobile.example.com应该被匹配到"www.{controller}.example.com/{action}....” 。坐下来，深呼吸，开始我们ASP.NET MVC的神奇之旅吧。</summary><published>2011-03-21T02:44:00Z</published><updated>2011-03-21T02:44:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/03/21/1990003.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/03/21/1990003.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Verdana, Arial, helvetica, sans-seriff; font-size: 17.28px; color: #232323; "&gt;&lt;div style="font-size: 13px; font-weight: bold; margin-bottom: 10px; "&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;[转]&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="cnblogs_post_body"&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;自从微软发布 ASP.NET MVC 和routing engine (&lt;em&gt;System.Web.Routing&lt;/em&gt;)以来，就设法让我们明白你完全能控制URL和routing，只要与你的application path相结合进行扩展，任何问题都迎刃而解。如果你需要在所处的域或者子域处理数据标记的话，强制使用Default。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;遗憾的是，ASP.NET MVC是基于虚拟目录的，在实际项目却有各种各样的需求方案。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;例如：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;1：应用程序是多语言的，像cn.example.com应该被匹配到&amp;#8220;www.{language}example.com&amp;#8221;路由上。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;2：应用程序是多用户的，像username.example.com应该被匹配到&amp;#8220;www.{clientname}.example.com&amp;#8221;路由上。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;3：应用程序是多子域的，像mobile.example.com应该被匹配到"www.{controller}.example.com/{action}....&amp;#8221; 。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;坐下来，深呼吸，开始我们ASP.NET MVC的神奇之旅吧。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;定义routes&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;下面是我们定义简单的route，不带任何controller控制的route：&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;img id="Code_Open_Image_151218" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; display: inline; "  alt="" /&gt;&lt;span id="Code_Open_Text_151218" style="font-family: 'Courier New'; display: inline; "&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;routes.Add(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;DomainRoute&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainRoute(&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;home.example.com&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Domain&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{action}/{id}&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;URL&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;{&amp;nbsp;controller&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Home&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Index&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;""&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Parameter&amp;nbsp;defaults&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;另一个例子是用我们的controller控制域名：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;img id="Code_Open_Image_151235" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; display: inline; "  alt="" /&gt;&lt;span id="Code_Open_Text_151235" style="font-family: 'Courier New'; display: inline; "&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;routes.Add(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;DomainRoute&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainRoute(&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{controller}.example.com&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Domain&amp;nbsp;with&amp;nbsp;parameters&amp;lt;&amp;nbsp;br&amp;nbsp;/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"{action}/{id}",&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;URL&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;{&amp;nbsp;controller&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Home&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Index&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;""&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Parameter&amp;nbsp;defaults&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;打算用controller 和action完全控制域名？&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;img id="Code_Open_Image_151256" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; display: inline; "  alt="" /&gt;&lt;span id="Code_Open_Text_151256" style="font-family: 'Courier New'; display: inline; "&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;routes.Add(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;DomainRoute&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainRoute(&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{controller}-{action}.example.com&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Domain&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{id}&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;URL&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;{&amp;nbsp;controller&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Home&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Index&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;""&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Parameter&amp;nbsp;defaults&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;接下来是多语言route：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;img id="Code_Open_Image_151321" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; display: inline; "  alt="" /&gt;&lt;span id="Code_Open_Text_151321" style="font-family: 'Courier New'; display: inline; "&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;routes.Add(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;DomainRoute&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainRoute(&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{language}.example.com&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Domain&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{controller}/{action}/{id}&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;URL&amp;nbsp;with&amp;nbsp;parameters&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;{&amp;nbsp;language&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;en&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;controller&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Home&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;action&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Index&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;""&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Parameter&amp;nbsp;defaults&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;HtmlHelper 扩展方法&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;因为我们不希望所有的URL所产生HtmlHelper ActionLink要使用full URLs，第一件事我们会添加一些新的ActionLink，其中载有boolean flag是否要full URLs或没有。利用这些，现在您可以添加一个链接到一个&lt;span style="color: #000000; "&gt;Action&lt;/span&gt;如下：&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;lt;%=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;Html.ActionLink(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;About&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;About&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;Home&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;true&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;跟你以往的习惯没有什么不同,不是吗？&lt;br /&gt;以下是一小段代码:&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;img id="Code_Open_Image_151405" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; display: inline; "  alt="" /&gt;&lt;span id="Code_Open_Text_151405" style="font-family: 'Courier New'; display: inline; "&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;class&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;LinkExtensions&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;ActionLink(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;this&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;HtmlHelper&amp;nbsp;htmlHelper,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;linkText,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;actionName,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;controllerName,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;bool&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;requireAbsoluteUrl)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;htmlHelper.ActionLink(linkText,&amp;nbsp;actionName,&amp;nbsp;controllerName,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;RouteValueDictionary(),&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;RouteValueDictionary(),&amp;nbsp;requireAbsoluteUrl);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;more&amp;nbsp;of&amp;nbsp;these&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;ActionLink(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;this&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;HtmlHelper&amp;nbsp;htmlHelper,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;linkText,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;actionName,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;controllerName,&amp;nbsp;RouteValueDictionary&amp;nbsp;routeValues,&amp;nbsp;IDictionary&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;object&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;htmlAttributes,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;bool&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;requireAbsoluteUrl)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(requireAbsoluteUrl)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpContextBase&amp;nbsp;currentContext&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;HttpContextWrapper(HttpContext.Current);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RouteData&amp;nbsp;routeData&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;RouteTable.Routes.GetRouteData(currentContext);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;routeData.Values[&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;controller&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;controllerName;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;routeData.Values[&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;action&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;actionName;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DomainRoute&amp;nbsp;domainRoute&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;routeData.Route&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;as&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainRoute;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(domainRoute&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DomainData&amp;nbsp;domainData&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;domainRoute.GetDomainData(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;RequestContext(currentContext,&amp;nbsp;routeData),&amp;nbsp;routeData.Values);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;htmlHelper.ActionLink(linkText,&amp;nbsp;actionName,&amp;nbsp;controllerName,&amp;nbsp;domainData.Protocol,&amp;nbsp;domainData.HostName,&amp;nbsp;domainData.Fragment,&amp;nbsp;routeData.Values,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;htmlHelper.ActionLink(linkText,&amp;nbsp;actionName,&amp;nbsp;controllerName,&amp;nbsp;routeValues,&amp;nbsp;htmlAttributes);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;在这没什么特别的：有许多的扩展方法，把扩展的URL加到域名上。这是一个预设ActionLink helpers，我的精神食粮来了&lt;em&gt;DomainRoute&lt;/em&gt;&amp;nbsp;class（详见：Dark Magic）&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;Dark magic&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;瞥眼之间，您可能已经看到了我的DomainRoute类代码段。这个类实际上是提取子域，并增加了象征性支持域部分的传入的URL，&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;我们将扩展基类，它已经给了我们一些属性和方法，但是我们得重写他们！&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;div style="background-color: #f5f5f5; font-family: 'Courier New'; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; word-break: break-all; overflow-x: auto; overflow-y: auto; "&gt;&lt;img id="Code_Open_Image_151440" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; display: inline; "  alt="" /&gt;&lt;span id="Code_Open_Text_151440" style="font-family: 'Courier New'; display: inline; "&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;class&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainRoute&amp;nbsp;:&amp;nbsp;Route&amp;nbsp;&lt;br /&gt;{&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;Domain&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;get&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;set&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;override&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;RouteData&amp;nbsp;GetRouteData(HttpContextBase&amp;nbsp;httpContext)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;构造regex&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;domainRegex&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;CreateRegex(Domain);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pathRegex&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;CreateRegex(Url);&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;请求信息&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;requestDomain&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;httpContext.Request.Headers[&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;host&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;];&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNullOrEmpty(requestDomain))&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(requestDomain.IndexOf(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;:&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;0&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestDomain&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;requestDomain.Substring(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;0&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;requestDomain.IndexOf(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;:&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;));&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;else&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestDomain&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;httpContext.Request.Url.Host;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;requestPath&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;httpContext.Request.AppRelativeCurrentExecutionFilePath.Substring(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;2&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;+&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;httpContext.Request.PathInfo;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;匹配域名和路由&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Match&amp;nbsp;domainMatch&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;domainRegex.Match(requestDomain);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Match&amp;nbsp;pathMatch&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pathRegex.Match(requestPath);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Route&amp;nbsp;数据&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RouteData&amp;nbsp;data&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(domainMatch.Success&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pathMatch.Success)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;RouteData(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;this&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;RouteHandler);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;添加默认选项&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(Defaults&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;null&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;foreach&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(KeyValuePair&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;object&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;item&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;in&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;Defaults)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.Values[item.Key]&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;item.Value;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;匹配域名路由&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;for&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;1&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;domainMatch.Groups.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;++&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Group&amp;nbsp;group&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;domainMatch.Groups[i];&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(group.Success)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;key&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;domainRegex.GroupNameFromNumber(i);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNullOrEmpty(key)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;char&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNumber(key,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;0&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;))&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNullOrEmpty(group.Value))&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.Values[key]&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;group.Value;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;匹配域名路径&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;for&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;1&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pathMatch.Groups.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;++&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Group&amp;nbsp;group&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pathMatch.Groups[i];&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(group.Success)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;key&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pathRegex.GroupNameFromNumber(i);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNullOrEmpty(key)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;amp;&amp;amp;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;char&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNumber(key,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800080; "&gt;0&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;))&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;if&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;!&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.IsNullOrEmpty(group.Value))&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.Values[key]&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;group.Value;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;data;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;override&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;VirtualPathData&amp;nbsp;GetVirtualPath(RequestContext&amp;nbsp;requestContext,&amp;nbsp;RouteValueDictionary&amp;nbsp;values)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;base&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;.GetVirtualPath(requestContext,&amp;nbsp;RemoveDomainTokens(values));&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;public&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainData&amp;nbsp;GetDomainData(RequestContext&amp;nbsp;requestContext,&amp;nbsp;RouteValueDictionary&amp;nbsp;values)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;获得主机名&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;hostname&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;Domain;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;foreach&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;(KeyValuePair&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;string&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;object&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pair&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;in&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;values)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hostname&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;hostname.Replace(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;{&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;+&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;pair.Key&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;}&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;pair.Value.ToString());&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;Return&amp;nbsp;域名数据&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #0000ff; "&gt;new&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;DomainData&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protocol&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;http&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;,&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HostName&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&amp;nbsp;hostname,&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fragment&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; color: #800000; "&gt;""&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;//&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&amp;nbsp;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #000000; "&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;哇，这是一串按照我们定义的route转换传入请求的URL到tokens的代码，我们这样做是转换&lt;em&gt;{controller}&lt;/em&gt;和按照regex然后再尝试匹配route规则，在我们的&lt;em&gt;DomainRoute&lt;/em&gt;&amp;nbsp;class里还有其他的helper方法，需要更多的功能可以自己研究扩展。&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; "&gt;附代码：&lt;a href="http://files.cnblogs.com/luanwey/MvcDomainRouting.rar" style="color: #56b6e9; "&gt;附件&lt;/a&gt;&lt;br /&gt;（如果要在使用Visual Studio开发Web服务器，务必添加把二级域名添加到hosts文件）（貌似本地测试不用）&lt;br /&gt;原文地址：http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx&lt;br /&gt;其实有的人为什么要这么麻烦用这种方式，URL重写或者二级域名直接绑定都可以。但是既然微软给url rouring，就应该能做到。&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1990003.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/03/21/1990003.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/03/05/1971467.html</id><title type="text">Eclipse快捷键大全(转载)</title><summary type="text">Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)</summary><published>2011-03-05T03:17:00Z</published><updated>2011-03-05T03:17:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/03/05/1971467.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/03/05/1971467.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 20px; font-size: small; color: #4b4b4b; "&gt;Ctrl+1&amp;nbsp;快速修复(最经典的快捷键,就不用多说了)&lt;br /&gt;Ctrl+D:&amp;nbsp;删除当前行&amp;nbsp;&lt;br /&gt;Ctrl+Alt+&amp;#8595;&amp;nbsp;复制当前行到下一行(复制增加)&lt;br /&gt;Ctrl+Alt+&amp;#8593;&amp;nbsp;复制当前行到上一行(复制增加)&lt;br /&gt;Alt+&amp;#8595;&amp;nbsp;当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)&lt;br /&gt;Alt+&amp;#8593;&amp;nbsp;当前行和上面一行交互位置(同上)&lt;br /&gt;Alt+&amp;#8592;&amp;nbsp;前一个编辑的页面&lt;br /&gt;Alt+&amp;#8594;&amp;nbsp;下一个编辑的页面(当然是针对上面那条来说了)&lt;br /&gt;Alt+Enter&amp;nbsp;显示当前选择资源(工程,or&amp;nbsp;文件&amp;nbsp;or文件)的属性&lt;br /&gt;Shift+Enter&amp;nbsp;在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)&lt;br /&gt;Shift+Ctrl+Enter&amp;nbsp;在当前行插入空行(原理同上条)&lt;br /&gt;Ctrl+Q&amp;nbsp;定位到最后编辑的地方&lt;br /&gt;Ctrl+L&amp;nbsp;定位在某行&amp;nbsp;(对于程序超过100的人就有福音了)&lt;br /&gt;Ctrl+M&amp;nbsp;最大化当前的Edit或View&amp;nbsp;(再按则反之)&lt;br /&gt;Ctrl+/&amp;nbsp;注释当前行,再按则取消注释&lt;br /&gt;Ctrl+O&amp;nbsp;快速显示&amp;nbsp;OutLine&lt;br /&gt;Ctrl+T&amp;nbsp;快速显示当前类的继承结构&lt;br /&gt;Ctrl+W&amp;nbsp;关闭当前Editer&lt;br /&gt;Ctrl+K&amp;nbsp;参照选中的Word快速定位到下一个&lt;br /&gt;Ctrl+E&amp;nbsp;快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)&lt;br /&gt;Ctrl+/(小键盘)&amp;nbsp;折叠当前类中的所有代码&lt;br /&gt;Ctrl+&amp;#215;(小键盘)&amp;nbsp;展开当前类中的所有代码&lt;br /&gt;Ctrl+Space&amp;nbsp;代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)&lt;br /&gt;Ctrl+Shift+E&amp;nbsp;显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)&lt;br /&gt;Ctrl+J&amp;nbsp;正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes&amp;nbsp;line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)&lt;br /&gt;Ctrl+Shift+J&amp;nbsp;反向增量查找(和上条相同,只不过是从后往前查)&lt;br /&gt;Ctrl+Shift+F4&amp;nbsp;关闭所有打开的Editer&lt;br /&gt;Ctrl+Shift+X&amp;nbsp;把当前选中的文本全部变味小写&lt;br /&gt;Ctrl+Shift+Y&amp;nbsp;把当前选中的文本全部变为小写&lt;br /&gt;Ctrl+Shift+F&amp;nbsp;格式化当前代码&lt;br /&gt;Ctrl+Shift+P&amp;nbsp;定位到对于的匹配符(譬如{})&amp;nbsp;(从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)&lt;br /&gt;&lt;br /&gt;下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)&lt;br /&gt;Alt+Shift+R&amp;nbsp;重命名&amp;nbsp;(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)&lt;br /&gt;Alt+Shift+M&amp;nbsp;抽取方法&amp;nbsp;(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)&lt;br /&gt;Alt+Shift+C&amp;nbsp;修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)&lt;br /&gt;Alt+Shift+L&amp;nbsp;抽取本地变量(&amp;nbsp;可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)&lt;br /&gt;Alt+Shift+F&amp;nbsp;把Class中的local变量变为field变量&amp;nbsp;(比较实用的功能)&lt;br /&gt;Alt+Shift+I&amp;nbsp;合并变量(可能这样说有点不妥Inline)&lt;br /&gt;Alt+Shift+V&amp;nbsp;移动函数和变量(不怎么常用)&lt;br /&gt;Alt+Shift+Z&amp;nbsp;重构的后悔药(Undo)&lt;br /&gt;&lt;br /&gt;编辑&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;查找并替换&amp;nbsp;Ctrl+F&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;查找上一个&amp;nbsp;Ctrl+Shift+K&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;查找下一个&amp;nbsp;Ctrl+K&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;撤销&amp;nbsp;Ctrl+Z&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;复制&amp;nbsp;Ctrl+C&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;恢复上一个选择&amp;nbsp;Alt+Shift+&amp;#8595;&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;剪切&amp;nbsp;Ctrl+X&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;快速修正&amp;nbsp;Ctrl1+1&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;内容辅助&amp;nbsp;Alt+/&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部选中&amp;nbsp;Ctrl+A&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;删除&amp;nbsp;Delete&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上下文信息&amp;nbsp;Alt+？&lt;br /&gt;Alt+Shift+?&lt;br /&gt;Ctrl+Shift+Space&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;显示工具提示描述&amp;nbsp;F2&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;选择封装元素&amp;nbsp;Alt+Shift+&amp;#8593;&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;选择上一个元素&amp;nbsp;Alt+Shift+&amp;#8592;&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;选择下一个元素&amp;nbsp;Alt+Shift+&amp;#8594;&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;增量查找&amp;nbsp;Ctrl+J&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;增量逆向查找&amp;nbsp;Ctrl+Shift+J&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;粘贴&amp;nbsp;Ctrl+V&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;重做&amp;nbsp;Ctrl+Y&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;查看&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;放大&amp;nbsp;Ctrl+=&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;缩小&amp;nbsp;Ctrl+-&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;窗口&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;激活编辑器&amp;nbsp;F12&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;切换编辑器&amp;nbsp;Ctrl+Shift+W&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个编辑器&amp;nbsp;Ctrl+Shift+F6&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个视图&amp;nbsp;Ctrl+Shift+F7&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个透视图&amp;nbsp;Ctrl+Shift+F8&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个编辑器&amp;nbsp;Ctrl+F6&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个视图&amp;nbsp;Ctrl+F7&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个透视图&amp;nbsp;Ctrl+F8&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;显示标尺上下文菜单&amp;nbsp;Ctrl+W&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;显示视图菜单&amp;nbsp;Ctrl+F10&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;显示系统菜单&amp;nbsp;Alt+-&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;导航&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;打开结构&amp;nbsp;Ctrl+F3&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开类型&amp;nbsp;Ctrl+Shift+T&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开类型层次结构&amp;nbsp;F4&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开声明&amp;nbsp;F3&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开外部javadoc&amp;nbsp;Shift+F2&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开资源&amp;nbsp;Ctrl+Shift+R&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;后退历史记录&amp;nbsp;Alt+&amp;#8592;&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;前进历史记录&amp;nbsp;Alt+&amp;#8594;&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;上一个&amp;nbsp;Ctrl+,&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;下一个&amp;nbsp;Ctrl+.&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;显示大纲&amp;nbsp;Ctrl+O&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;在层次结构中打开类型&amp;nbsp;Ctrl+Shift+H&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;转至匹配的括号&amp;nbsp;Ctrl+Shift+P&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;转至上一个编辑位置&amp;nbsp;Ctrl+Q&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;转至上一个成员&amp;nbsp;Ctrl+Shift+&amp;#8593;&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;转至下一个成员&amp;nbsp;Ctrl+Shift+&amp;#8595;&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;转至行&amp;nbsp;Ctrl+L&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;搜索&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;出现在文件中&amp;nbsp;Ctrl+Shift+U&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打开搜索对话框&amp;nbsp;Ctrl+H&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;工作区中的声明&amp;nbsp;Ctrl+G&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;工作区中的引用&amp;nbsp;Ctrl+Shift+G&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;文本编辑&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;改写切换&amp;nbsp;Insert&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;上滚行&amp;nbsp;Ctrl+&amp;#8593;&amp;nbsp;&lt;br /&gt;文本编辑器&amp;nbsp;下滚行&amp;nbsp;Ctrl+&amp;#8595;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;文件&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;保存&amp;nbsp;Ctrl+X&amp;nbsp;&lt;br /&gt;Ctrl+S&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;打印&amp;nbsp;Ctrl+P&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;关闭&amp;nbsp;Ctrl+F4&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部保存&amp;nbsp;Ctrl+Shift+S&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部关闭&amp;nbsp;Ctrl+Shift+F4&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;属性&amp;nbsp;Alt+Enter&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;新建&amp;nbsp;Ctrl+N&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;项目&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;全部构建&amp;nbsp;Ctrl+B&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;源代码&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;格式化&amp;nbsp;Ctrl+Shift+F&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;取消注释&amp;nbsp;Ctrl+\&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;注释&amp;nbsp;Ctrl+/&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;添加导入&amp;nbsp;Ctrl+Shift+M&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;组织导入&amp;nbsp;Ctrl+Shift+O&amp;nbsp;&lt;br /&gt;Java编辑器&amp;nbsp;使用try/catch块来包围&amp;nbsp;未设置，太常用了，所以在这里列出,建议自己设置。&lt;br /&gt;也可以使用Ctrl+1自动修正。&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;运行&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步返回&amp;nbsp;F7&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步跳过&amp;nbsp;F6&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步跳入&amp;nbsp;F5&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;单步跳入选择&amp;nbsp;Ctrl+F5&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;调试上次启动&amp;nbsp;F11&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;继续&amp;nbsp;F8&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;使用过滤器单步执行&amp;nbsp;Shift+F5&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;添加/去除断点&amp;nbsp;Ctrl+Shift+B&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;显示&amp;nbsp;Ctrl+D&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;运行上次启动&amp;nbsp;Ctrl+F11&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;运行至行&amp;nbsp;Ctrl+R&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;执行&amp;nbsp;Ctrl+U&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;重构&lt;br /&gt;作用域&amp;nbsp;功能&amp;nbsp;快捷键&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;撤销重构&amp;nbsp;Alt+Shift+Z&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;抽取方法&amp;nbsp;Alt+Shift+M&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;抽取局部变量&amp;nbsp;Alt+Shift+L&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;内联&amp;nbsp;Alt+Shift+I&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;移动&amp;nbsp;Alt+Shift+V&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;重命名&amp;nbsp;Alt+Shift+R&amp;nbsp;&lt;br /&gt;全局&amp;nbsp;重做&amp;nbsp;Alt+Shift+Y&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1971467.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/03/05/1971467.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2011/03/04/1970518.html</id><title type="text">Android单元测试测试[转]</title><summary type="text">Warning: No instrumentation runner found for the launch, using android.test.InstrumentationTestRunner</summary><published>2011-03-04T01:06:00Z</published><updated>2011-03-04T01:06:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2011/03/04/1970518.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2011/03/04/1970518.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Arial; font-size: 17.28px; color: #666666; "&gt;&lt;div style="font-family: 微软雅黑; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 20px; line-height: 24px; height: 24px; margin-bottom: 10px; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #dddddd; color: #cc6600; cursor: default; padding-bottom: 5px; overflow-x: hidden; overflow-y: hidden; "&gt;Android单元测试测试&lt;/div&gt;&lt;br /&gt;&lt;table style="table-layout: fixed; width: 968px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; "&gt;&lt;div id="blog_text" style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;AndroidManifest.xml&lt;p style="line-height: normal; "&gt;&lt;/p&gt;&lt;p style="line-height: normal; "&gt;&amp;lt;uses-library android:name="android.test.runner"/&amp;gt;&lt;/p&gt;&lt;p style="line-height: normal; "&gt;&lt;/p&gt;&lt;p style="line-height: normal; "&gt;&amp;lt;instrumentation&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:name="android.test.InstrumentationTestRunner"&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:targetPackage="com.myapp.tests"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:label="MyAppTests" /&amp;gt;&lt;/p&gt;&lt;p style="line-height: normal; "&gt;&lt;/p&gt;&lt;p style="line-height: normal; "&gt;1.继承androidTestCase类。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;2.Assert类判断所得到值与期望值是否相同。&lt;/p&gt;&lt;br style="line-height: normal; " /&gt;&lt;p style="line-height: normal; "&gt;单击&amp;#8220;Android JUnit Test&amp;#8221;运行后会，会出现如下警告：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;It outputs Warning: No instrumentation runner found for the launch, using&lt;/p&gt;&lt;p style="line-height: normal; "&gt;android.test.InstrumentationTestRunner.&lt;/p&gt;&lt;p style="line-height: normal; "&gt;模拟器不能记住Androidmanifest的配置，在运行时需要重新设置运行配置，如下：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;1.在工程名字上点击右键，选择properties&lt;/p&gt;&lt;p style="line-height: normal; "&gt;2.在Run/Debug setting中选择要运行的工程名字，点击右边的Edit，会进入下面的界面，&lt;/p&gt;&lt;p style="line-height: normal; "&gt;在 instrumentation runner后面的下拉列表中选择：android.test.InstrumentationTestRunner&lt;/p&gt;3.重新运行该测试单元，则就不会出现上面的警告了。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1970518.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2011/03/04/1970518.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2010/11/10/1874060.html</id><title type="text">手动使用EDM 生成器 (EdmGen.exe) 工具生成 SSDL,CSDL,MSL 文件。</title><summary type="text">手动使用EDM 生成器 (EdmGen.exe) 工具生成SQLServer 数据库的 SSDL,CSDL,MSL 模型文件，和生成Mysql 数据库的SSDL,CSDL,MSL 模型文件。</summary><published>2010-11-10T09:25:00Z</published><updated>2010-11-10T09:25:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2010/11/10/1874060.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2010/11/10/1874060.html"/><content type="html">&lt;p&gt;在ADO.NET entity Framework中可通过VS工具可视操作生成,&lt;span id="tgt2"&gt;概念架构定义语言 (CSDL)、存储架构定义语言 (SSDL) 和映射规范语言 (MSL) &lt;/span&gt;文件，但有时候也要手动的去操作一下，在网上找到一操作说明，&lt;a href="http://msdn.microsoft.com/zh-cn/bb387165%28VS.90%29.aspx"&gt;点击这里可以查看原文&lt;/a&gt; 。其中主要的 model 和参数如下：&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;div&gt;&lt;div style="display: block;"&gt;&lt;p&gt;使用 EdmGen.exe 工具时，必须指定以下模式之一。&lt;/p&gt; &lt;div&gt;&lt;table width="100%"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;               模式             &lt;/th&gt; &lt;th&gt;               说明             &lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/mode:ValidateArtifacts&lt;/strong&gt; &lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;验证 .csdl、.ssdl 和 .msl 文件并显示所有错误或警告。&lt;/p&gt; &lt;p&gt;此选项需要至少一个 &lt;strong&gt;/inssdl&lt;/strong&gt; 或 &lt;strong&gt;/incsdl&lt;/strong&gt; 参数。如果指定 &lt;strong&gt;/inmsl&lt;/strong&gt;，则还需要 &lt;strong&gt;/inssdl&lt;/strong&gt; 和 &lt;strong&gt;/incsdl&lt;/strong&gt; 参数。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/mode:FullGeneration&lt;/strong&gt; &lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;使用 &lt;strong&gt;/connectionstring&lt;/strong&gt; 选项中指定的数据库连接信息，生成 .csdl、.ssdl、.msl、对象层和视图文件。&lt;/p&gt; &lt;p&gt;此选项需要一个 &lt;strong&gt;/connectionstring&lt;/strong&gt; 参数，以及一个 /project 参数或 &lt;strong&gt;/outssdl&lt;/strong&gt;、&lt;strong&gt;/outcsdl&lt;/strong&gt;、&lt;strong&gt;/outmsl&lt;/strong&gt;(&lt;span style="color: red;"&gt;注：不是outmsdl&lt;/span&gt;)、&lt;strong&gt;/outobjectlayer&lt;/strong&gt;、&lt;strong&gt;/outviews&lt;/strong&gt;、&lt;strong&gt;/namespace&lt;/strong&gt; 和 &lt;strong&gt;/entitycontainer&lt;/strong&gt; 参数。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/mode:FromSSDLGeneration&lt;/strong&gt; &lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;根据指定的 .ssdl 文件生成 .csdl 和 .msl 文件、源代码和视图。&lt;/p&gt; &lt;p&gt;此选项需要 &lt;strong&gt;/inssdl&lt;/strong&gt; 参数，以及 &lt;strong&gt;/project&lt;/strong&gt; 参数或 &lt;strong&gt;/outcsdl&lt;/strong&gt;、&lt;strong&gt;/outmsl&lt;/strong&gt;、&lt;strong&gt;/outobjectlayer&lt;/strong&gt;、&lt;strong&gt;/outviews&lt;/strong&gt;、&lt;strong&gt;/namespace&lt;/strong&gt; 和 &lt;strong&gt;/entitycontainer&lt;/strong&gt; 参数。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/mode:EntityClassGeneration&lt;/strong&gt; &lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;创建包含根据 .csdl 文件生成的类的源代码文件。&lt;/p&gt; &lt;p&gt;此选项需要 &lt;strong&gt;/incsdl&lt;/strong&gt; 参数，以及 &lt;strong&gt;/project&lt;/strong&gt; 参数或 &lt;strong&gt;/outobjectlayer&lt;/strong&gt; 参数。&lt;strong&gt;/language&lt;/strong&gt; 参数是可选的。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/mode:ViewGeneration&lt;/strong&gt; &lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;创建包含根据 .csdl、.ssdl 和 .msl 文件生成的视图的源代码文件。&lt;/p&gt; &lt;p&gt;此选项需要 &lt;strong&gt;/inssdl&lt;/strong&gt;、&lt;strong&gt;/incsdl&lt;/strong&gt;、&lt;strong&gt;/inmsl&lt;/strong&gt;，以及 &lt;strong&gt;/project&lt;/strong&gt; 或 &lt;strong&gt;/outviews&lt;/strong&gt; 参数。&lt;strong&gt;/language&lt;/strong&gt; 参数是可选的。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/span&gt;&lt;span&gt; &lt;div&gt; &lt;div&gt;  &lt;img src="http://i.msdn.microsoft.com/Global/Images/clear.gif" style="border-width: 0px; vertical-align: middle;"  alt="" /&gt; &amp;nbsp;选项 &lt;/div&gt; &lt;div style="display: block;"&gt;   &lt;a name="sectionToggleEDBHA"&gt;&lt;/a&gt; &lt;div&gt;&lt;table width="100%"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;               选项             &lt;/th&gt; &lt;th&gt;               说明             &lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/p[roject]:&lt;/strong&gt;&amp;lt;字符串&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定要使用的项目名称。项目名称用作命名空间设置、EDM 文件名、对象源文件名、视图生成源文件名的默认值。实体容器名称设置为 &amp;lt;项目&amp;gt;Context。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/prov[ider]:&lt;/strong&gt;&amp;lt;字符串&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;用于生成存储模型 (.ssdl) 文件的 .NET Framework 数据提供程序的名称。默认提供程序是用于 SQL Server 的 .NET Framework 数据提供程序 (System.Data.SqlClient)。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/c[onnectionstring]:&lt;/strong&gt;&amp;lt;连接字符串&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定用于连接数据源的字符串。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/incsdl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定 .csdl 文件或 .csdl 文件所在的目录。此参数可多次指定，这样可以指定多个目录或 .csdl 文件。当概念模型跨多个文件拆分时，对于生成类 (&lt;strong&gt;/mode:EntityClassGeneration&lt;/strong&gt;) 或视图 (&lt;strong&gt;/mode:ViewGeneration&lt;/strong&gt;)，指定多个目录十分有用。如果希望验证多个模型 (&lt;strong&gt;/mode:ValidateArtifacts&lt;/strong&gt;)，这样做也很有用。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/refcsdl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定用于解析源 .csdl 文件中的任何引用的其他 .csdl 文件。（源 .csdl 文件是 &lt;strong&gt;/incsdl&lt;/strong&gt; 选项指定的文件）。&lt;strong&gt;/refcsdl&lt;/strong&gt; 文件包含源 .csdl 文件所依赖的类型。此参数可多次指定。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/inmsl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定 .msl 文件或 .msl 文件所在的目录。此参数可多次指定，这样可以指定多个目录或 .msl 文件。当概念模型跨多个文件拆分时，对于生成视图 (&lt;strong&gt;/mode:ViewGeneration&lt;/strong&gt;)，指定多个目录十分有用。如果希望验证多个模型 (&lt;strong&gt;/mode:ValidateArtifacts&lt;/strong&gt;)，这样做也很有用。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/inssdl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定 .ssdl 文件或 .ssdl 文件所在的目录。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/outcsdl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定将创建的 .csdl 文件的名称。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/outmsl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定将创建的 .msl 文件的名称。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/outssdl:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定将创建的 .ssdl 文件的名称。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/outobjectlayer:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定包含根据 .csdl 文件生成的对象的源代码文件的名称。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/outviews:&lt;/strong&gt;&amp;lt;文件&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定包含所生成的视图的源代码文件的名称。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/language:&lt;/strong&gt;[VB|CSharp]&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定生成的源代码文件的语言。默认语言为 C#。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/namespace:&lt;/strong&gt;&amp;lt;字符串&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定要使用的命名空间。命名空间是在运行 &lt;strong&gt;/mode:FullGeneration&lt;/strong&gt; 或 &lt;strong&gt;/mode:FromSSDLGeneration&lt;/strong&gt; 时在 .csdl 文件中设置的。在运行 &lt;strong&gt;/mode:EntityClassGeneration&lt;/strong&gt; 时不使用该命名空间。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/entitycontainer:&lt;/strong&gt;&amp;lt;字符串&amp;gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;指定在生成的 EDM 文件中应用于 &lt;tt&gt;&amp;lt;EntityContainer&amp;gt;&lt;/tt&gt; 元素的名称。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/help&lt;/strong&gt; 或 &lt;strong&gt;?&lt;/strong&gt;&lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;显示工具的命令语法和选项。&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;strong&gt;/nologo&lt;/strong&gt; &lt;/p&gt; &lt;/td&gt; &lt;td&gt; &lt;p&gt;禁止显示版权信息。&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;如果你想从SQLSERVER 数据库中生成.ssdl,cdsl,msl 文件 可使用如下命令：&amp;gt;&lt;span style="color: #008000;"&gt;EdmGen /mode:FullGeneration&amp;nbsp;&amp;nbsp; /connectionstring:"server=localhost;user id=admin;password=123456;persist security info=True;database=testDB" /provider:"System.Data.SqlClient" /outssdl:test.ssdl /outcsdl:test.csdl&amp;nbsp; /outmsl:test.msl /outobjectlayer:testobj.cs /outviews:testview.cs&amp;nbsp; /namespace:"TestSpace"&amp;nbsp;&amp;nbsp; /entitycontainer:"Testentitycontainer"&lt;/span&gt;或者 &lt;/p&gt;&lt;p&gt;去掉 &amp;#8220;&lt;span style="color: red;"&gt;/provider:"System.Data.SqlClient&amp;#8221;&lt;/span&gt; 也可以，因为用于生成存储模型 (.ssdl) 文件的 .NET Framework 数据提供程序的名称默认提供程序是用于 SQL Server 的 .NET Framework 数据提供程序 (System.Data.SqlClient)。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;如果你想从MYSQL（测试的mysql是5.0.3版本的） 数据库中生成 .ssdl,cdsl,msl 文件 可使用如下命令：&amp;gt;&lt;span style="color: #008000;"&gt;EdmGen /mode:FullGeneration&amp;nbsp;&amp;nbsp;  /connectionstring:"server=localhost;user  id=admin;password=123456;persist security info=True;database=testDB"  /provider:"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;MySql.Data.MySqlClient&lt;/span&gt;&lt;span style="color: #008000;"&gt;" &lt;br /&gt; /outssdl:test.ssdl /outcsdl:test.csdl&amp;nbsp;  /outmsl:test.msl /outobjectlayer:testobj.cs /outviews:testview.cs&amp;nbsp;  /namespace:"TestSpace"&amp;nbsp;&amp;nbsp; /entitycontainer:"Testentitycontainer"&lt;/span&gt;&amp;nbsp;&amp;nbsp; 即可。不过一定要拷文件 &lt;span style="color: #ff0000;"&gt;MySql.Data.dll&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;，&amp;nbsp; MySql.Data.Entity.dll， EdmGen.exe.config&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; 和 EdmGen.exe 放在同一文件夹下面。&lt;/span&gt;其中EdmGen.exe.config 文件内容为：&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;runtime&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;generatePublisherEvidence&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;enabled&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;runtime&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;system.data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;DbProviderFactories&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;add&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MySQL&amp;nbsp;Data&amp;nbsp;Provider"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;invariant&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MySql.Data.MySqlClient"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;description&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=".Net&amp;nbsp;Framework&amp;nbsp;Data&amp;nbsp;Provider&amp;nbsp;for&amp;nbsp;MySQL"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MySql.Data.MySqlClient.MySqlClientFactory,&amp;nbsp;MySql.Data,&amp;nbsp;Version=6.0.3.0,&amp;nbsp;Culture=neutral,&amp;nbsp;PublicKeyToken=92c3c527cdfe7566"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;DbProviderFactories&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;system.data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;configuration&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;执行命之后你发现在指定目录下面生成了：test.csdl，test.ssdl ,test.msl, testobj.cs, testview.cs 五个文件，此段工作完成。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1874060.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2010/11/10/1874060.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seebook/archive/2010/11/08/1871860.html</id><title type="text">InnoDB ,MyISAM 等存储引擎中主外键的大小设置.</title><summary type="text"> InnoDB 和 MYISAM 存储引擎 时要注意其 主外键大小有区别,若用 InnoDB引擎时表中的主外键的大小为小于等于767个byte ,MYISAM 引擎时表中的主外键的大小为小于等于1000个byte</summary><published>2010-11-08T08:13:00Z</published><updated>2010-11-08T08:13:00Z</updated><author><name>micenter</name><uri>http://www.cnblogs.com/seebook/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seebook/archive/2010/11/08/1871860.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seebook/archive/2010/11/08/1871860.html"/><content type="html">&lt;p&gt;在设置建数据库表时指定 其存储引擎 时 我们有5种引擎，&amp;nbsp;ISAM、&#xD;
MyISAM，HEAP，InnoDB和Berkley（BDB），前面三种为不支持事务处理等高级处理，而后者可以（&lt;a href="http://dengminhui.javaeye.com/blog/465731"&gt;&lt;font  color="#000000"&gt;点击这里可查看详情&lt;/font&gt;&lt;/a&gt;）。其中MYISAM和InnoDB的比较网上遍地都是如&lt;a href="http://www.javaeye.com/topic/547379"&gt;&lt;font  color="#000000"&gt;这里&lt;/font&gt;&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;InnoDB 和 MYISAM 存储引擎 时要注意其 主外键大小有区别,若用 InnoDB引擎时表中的主外键的大小为小于等于767个byte ,MYISAM&amp;nbsp;引擎时表中的主外键的大小为小于等于1000个byte&lt;/p&gt;&lt;p&gt;否则当你保存时会分别出现这样的异常：1071 - Specified key was too long;max key length is &lt;span style="color: red; "&gt;767&lt;/span&gt; bytes &amp;nbsp;和 1071 - Specified key was too long;max key length is &lt;span style="color: red; "&gt;1000&lt;/span&gt; bytes。&lt;/p&gt;&lt;p&gt;其它的存储引擎所对应的主外键大小是：ISAM(&lt;span style="color: red; "&gt;767&lt;/span&gt; byte), HEAP(&lt;span style="color: red; "&gt;3072&lt;/span&gt; bytes) ,BDB(&lt;span style="color: red; "&gt;767&lt;/span&gt; bytes).&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/seebook/aggbug/1871860.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seebook/archive/2010/11/08/1871860.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
