﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-只言片语</title><link>http://www.blogjava.net/aihua/</link><description /><language>zh-cn</language><lastBuildDate>Sat, 18 Apr 2026 18:00:52 GMT</lastBuildDate><pubDate>Sat, 18 Apr 2026 18:00:52 GMT</pubDate><ttl>60</ttl><item><title>网页上发送mail的编码问题</title><link>http://www.blogjava.net/aihua/archive/2006/08/21/64716.html</link><dc:creator>aihua</dc:creator><author>aihua</author><pubDate>Mon, 21 Aug 2006 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/aihua/archive/2006/08/21/64716.html</guid><wfw:comment>http://www.blogjava.net/aihua/comments/64716.html</wfw:comment><comments>http://www.blogjava.net/aihua/archive/2006/08/21/64716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/aihua/comments/commentRss/64716.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aihua/services/trackbacks/64716.html</trackback:ping><description><![CDATA[网页上发送mail有2种常用的方式. MailTo 和 Form提交. <br /><br />两者在编码方面都是一样的.<br /><br />如果页面是UTF-8编码格式,则发送出去的字符串就是UTF-8,Mail客户端如果以GB2312接受,必为乱码<br /><br /><br />实际在中文win2000下测试，就算修改Outlook Express默认编码为UTF-8，仍然无法接受正常的汉字。<br /><br />所以将页面修改为GB2312是一个简单的解决方案。<br /><br /><br />还有一个问题<br /><br /><br />如果我在日文系统调用GB2312的页面，仍然无法获取正确的汉字。<br /><br />解决办法是，在日文系统下，把需要的汉字输到*.ASPX文件上（或者是JS）,然后再调用页面，在日文系统上就能够出现正确的汉字。虽然这个时候源代码全部是乱码。<br /><br /><br />实际上是用日文字体写中国汉字。。。。这个和编码格式问题好像不一样<img src ="http://www.blogjava.net/aihua/aggbug/64716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aihua/" target="_blank">aihua</a> 2006-08-21 09:53 <a href="http://www.blogjava.net/aihua/archive/2006/08/21/64716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>操作Excel,自动设置列高</title><link>http://www.blogjava.net/aihua/archive/2006/08/20/64610.html</link><dc:creator>aihua</dc:creator><author>aihua</author><pubDate>Sun, 20 Aug 2006 05:30:00 GMT</pubDate><guid>http://www.blogjava.net/aihua/archive/2006/08/20/64610.html</guid><wfw:comment>http://www.blogjava.net/aihua/comments/64610.html</wfw:comment><comments>http://www.blogjava.net/aihua/archive/2006/08/20/64610.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/aihua/comments/commentRss/64610.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aihua/services/trackbacks/64610.html</trackback:ping><description><![CDATA[
		<p>C# <br /><br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ &lt;summary&gt;</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ 自动设置Excel列高</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ &lt;/summary&gt;</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ &lt;param name="m_objSheet"&gt;Worksheet&lt;/param&gt;</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ &lt;param name="beginPos"&gt;string&lt;/param&gt;</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ &lt;remarks&gt;</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ 自动设置Excel列高</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ &lt;/remarks&gt;</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 9</span>
				<span style="COLOR: #008000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">        </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> autoSetHeight(Worksheet m_objSheet,string beginPos)<br /></span>
				<span style="COLOR: #008080">10</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_323_2455_Open_Image" onclick="this.style.display='none'; Codehighlighter1_323_2455_Open_Text.style.display='none'; Codehighlighter1_323_2455_Closed_Image.style.display='inline'; Codehighlighter1_323_2455_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_323_2455_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_323_2455_Closed_Text.style.display='none'; Codehighlighter1_323_2455_Open_Image.style.display='inline'; Codehighlighter1_323_2455_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />        </span>
				<span id="Codehighlighter1_323_2455_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_323_2455_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080">11</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">分解坐标</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">12</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            string[] rows </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> beginPos.Split(</span>
						<span style="COLOR: #000000">'</span>
						<span style="COLOR: #000000">,</span>
						<span style="COLOR: #000000">'</span>
						<span style="COLOR: #000000">);<br /></span>
						<span style="COLOR: #008080">13</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">获取单元格对象</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">14</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            Range range1 </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> m_objSheet.Cells[</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">]), </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">])] as Excel.Range;<br /></span>
						<span style="COLOR: #008080">15</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">获取单元格长/宽</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> iRowCount </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> range1.MergeArea.Rows.Count;<br /></span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> iColumnsCount </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> range1.MergeArea.Columns.Count;<br /></span>
						<span style="COLOR: #008080">18</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            <br /></span>
						<span style="COLOR: #008080">19</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">第一列宽</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">20</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000"> iColumnWidth </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000">.Parse(range1.ColumnWidth.ToString());<br /></span>
						<span style="COLOR: #008080">21</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">22</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">获取总的列宽</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">23</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000"> iSunColumnWidth </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /></span>
						<span style="COLOR: #008080">24</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">25</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000"> (</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> i </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">; i </span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000"> iColumnsCount; i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)<br /></span>
						<span style="COLOR: #008080">26</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_897_1123_Open_Image" onclick="this.style.display='none'; Codehighlighter1_897_1123_Open_Text.style.display='none'; Codehighlighter1_897_1123_Closed_Image.style.display='inline'; Codehighlighter1_897_1123_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_897_1123_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_897_1123_Closed_Text.style.display='none'; Codehighlighter1_897_1123_Open_Image.style.display='inline'; Codehighlighter1_897_1123_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
						<span id="Codehighlighter1_897_1123_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_897_1123_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">27</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                Range tmp_range </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> m_objSheet.Cells[</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000">.Parse(rows[</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">]), (</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000">.Parse(rows[</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">])</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">i)] as Excel.Range;<br /></span>
								<span style="COLOR: #008080">28</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                iSunColumnWidth </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> iSunColumnWidth </span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">double</span>
								<span style="COLOR: #000000">.Parse(tmp_range.ColumnWidth.ToString());;<br /></span>
								<span style="COLOR: #008080">29</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">30</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">31</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">32</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">分解单元格</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">33</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            range1.UnMerge();<br /></span>
						<span style="COLOR: #008080">34</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">35</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">重新获取单元格第一个小块</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">36</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            range1 </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> m_objSheet.Cells[</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">]), </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">])] as Excel.Range;<br /></span>
						<span style="COLOR: #008080">37</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">获取第一个小块的原始高度</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">38</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000"> range1_height </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000">.Parse(range1.RowHeight.ToString());<br /></span>
						<span style="COLOR: #008080">39</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">设置第一个小块为自动拉伸</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">40</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            range1.EntireRow.AutoFit();<br /></span>
						<span style="COLOR: #008080">41</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />         <br /></span>
						<span style="COLOR: #008080">42</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> newRows </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">]) </span>
						<span style="COLOR: #000000">+</span>
						<span style="COLOR: #000000"> (iRowCount</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">);<br /></span>
						<span style="COLOR: #008080">43</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> newColumn </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">]) </span>
						<span style="COLOR: #000000">+</span>
						<span style="COLOR: #000000"> (iColumnsCount</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">);<br /></span>
						<span style="COLOR: #008080">44</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">重新获取单元格</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">45</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            Range range2 </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">m_objSheet.get_Range(m_objSheet.Cells[</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">]),</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000">.Parse(rows[</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">])],m_objSheet.Cells[newRows,newColumn]);<br /></span>
						<span style="COLOR: #008080">46</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">合并单元格</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">47</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            range2.Merge(</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">);<br /></span>
						<span style="COLOR: #008080">48</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">49</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000"> h1 </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000">.Parse(range1.RowHeight.ToString());<br /></span>
						<span style="COLOR: #008080">50</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            range2.RowHeight </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> range1_height;<br /></span>
						<span style="COLOR: #008080">51</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> <br /></span>
						<span style="COLOR: #008080">52</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">计算合并后的单元格的高度</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">53</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            </span>
						<span style="COLOR: #0000ff">double</span>
						<span style="COLOR: #000000"> hh </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> h1 </span>
						<span style="COLOR: #000000">*</span>
						<span style="COLOR: #000000">(iColumnWidth</span>
						<span style="COLOR: #000000">/</span>
						<span style="COLOR: #000000">iSunColumnWidth);<br /></span>
						<span style="COLOR: #008080">54</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">55</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">如果第一个小块的高度还没有默认高度高，则不设置高度</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">56</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">            </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000">(h1 </span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000"> range1_height)<br /></span>
						<span style="COLOR: #008080">57</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_2114_2445_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2114_2445_Open_Text.style.display='none'; Codehighlighter1_2114_2445_Closed_Image.style.display='inline'; Codehighlighter1_2114_2445_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_2114_2445_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2114_2445_Closed_Text.style.display='none'; Codehighlighter1_2114_2445_Open_Image.style.display='inline'; Codehighlighter1_2114_2445_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
						<span id="Codehighlighter1_2114_2445_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_2114_2445_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">58</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">如果计算后的高度比原始的高，则设新的高度，并且+15，让字体能够显示出来，否则设置原始高+15</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">59</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">                </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(hh </span>
								<span style="COLOR: #000000">&gt;</span>
								<span style="COLOR: #000000"> range1_height)<br /></span>
								<span style="COLOR: #008080">60</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_2237_2303_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2237_2303_Open_Text.style.display='none'; Codehighlighter1_2237_2303_Closed_Image.style.display='inline'; Codehighlighter1_2237_2303_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_2237_2303_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2237_2303_Closed_Text.style.display='none'; Codehighlighter1_2237_2303_Open_Image.style.display='inline'; Codehighlighter1_2237_2303_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
								<span id="Codehighlighter1_2237_2303_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_2237_2303_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">61</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    range2.RowHeight </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> hh </span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">15</span>
										<span style="COLOR: #000000">;<br /></span>
										<span style="COLOR: #008080">62</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">63</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
								<span style="COLOR: #0000ff">else</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">64</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_2342_2414_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2342_2414_Open_Text.style.display='none'; Codehighlighter1_2342_2414_Closed_Image.style.display='inline'; Codehighlighter1_2342_2414_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_2342_2414_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2342_2414_Closed_Text.style.display='none'; Codehighlighter1_2342_2414_Open_Image.style.display='inline'; Codehighlighter1_2342_2414_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
								<span id="Codehighlighter1_2342_2414_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_2342_2414_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">65</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    range2.RowHeight </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> range1_height;<br /></span>
										<span style="COLOR: #008080">66</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">67</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                <br /></span>
								<span style="COLOR: #008080">68</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">69</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />        }</span>
				</span>
		</div>
<img src ="http://www.blogjava.net/aihua/aggbug/64610.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aihua/" target="_blank">aihua</a> 2006-08-20 13:30 <a href="http://www.blogjava.net/aihua/archive/2006/08/20/64610.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>改进</title><link>http://www.blogjava.net/aihua/archive/2006/07/04/56597.html</link><dc:creator>aihua</dc:creator><author>aihua</author><pubDate>Tue, 04 Jul 2006 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/aihua/archive/2006/07/04/56597.html</guid><wfw:comment>http://www.blogjava.net/aihua/comments/56597.html</wfw:comment><comments>http://www.blogjava.net/aihua/archive/2006/07/04/56597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/aihua/comments/commentRss/56597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aihua/services/trackbacks/56597.html</trackback:ping><description><![CDATA[    项目基本上采用如下交互模式.<br />    流程如下.<br /><ol><li>一个页面对应一个用类</li><li>一个页面对应一个Struts Action.</li><li>页面上一个动作(提交按钮)对应Action一个方法(或者对应if语句)</li><li>一个Struts Action对应一个BO类</li><li>一个Struts Action 方法(页面一个动作)对应BO一个方法</li><li>一个BO对应1到多个DAO.</li></ol><br />  其中业务对象BO,<br /><ol><li>都是按照无状态设计的,类似函数大集合.</li><ol><li>函数之间不考虑复用,函数之间功能独立,代码重复率高.<br /></li></ol><li>业务对象都是都是根据用例来划分的(1 vs 1).</li><ol><li>业务对象之间不考虑关系,全部都是函数载体.</li></ol><li>DAO主要服务于业务对象.基本上也是1 vs 1</li><ol><li>只能服用CRUD情况.复杂的sql文如果很相似可以合并.</li><li>由于设置上是为业务对象服务,业务对象之间设置沟通很少,所以DAO实现也多重复</li></ol></ol>  但是开发效率很高.从外到里,全程一人设计.单独看功能完整,全局看,雷同的太多了.<br /><br />  首先提炼业务对象.从全局角度考虑,划出有限个业务对象.利用对象关系勾勒出完整的业务逻辑.<br />  其中每个业务对象与PO紧密合作,PO依赖与DAO,实现对象的基本操作(CRUD).<br />  以上实现业务对象层,主要用来描述业务对象之间的关系,已经持久化功能..<br /><br />  再设计出查询层,支持复杂查询,获取各种查询结果.<br /><br />  门户层对客户端(Struts Action)提供业务接口,支持如下:<br /><ol><li>对业务对象层操作</li><li>对查询层操作</li><li>对于复杂业务逻辑,结合查询层和业务层来实现.</li></ol>  <br /> 附上代码。  <a href="http://javaeye.gbaopan.com/files/794861a6b7e94369a2e2be6110908d84.gbp">项目代码</a><br />   主要改进如下类<br /><ol><li>CompinfoServiceImp</li><ol><li>直接调用Compinfo，不显示调用DAO</li></ol><li>Compinfo</li><ol><li>内部隐藏调用DAO</li></ol></ol><br /><br /><img src ="http://www.blogjava.net/aihua/aggbug/56597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aihua/" target="_blank">aihua</a> 2006-07-04 22:45 <a href="http://www.blogjava.net/aihua/archive/2006/07/04/56597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>现在我们的开发架构</title><link>http://www.blogjava.net/aihua/archive/2006/07/04/56593.html</link><dc:creator>aihua</dc:creator><author>aihua</author><pubDate>Tue, 04 Jul 2006 13:33:00 GMT</pubDate><guid>http://www.blogjava.net/aihua/archive/2006/07/04/56593.html</guid><wfw:comment>http://www.blogjava.net/aihua/comments/56593.html</wfw:comment><comments>http://www.blogjava.net/aihua/archive/2006/07/04/56593.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/aihua/comments/commentRss/56593.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aihua/services/trackbacks/56593.html</trackback:ping><description><![CDATA[    首先说说我们现在采用的开发框架.然后慢慢的进行改造.<br />    首先是标准的WEB应用程序.包括WEB层,业务层(BO层)和持久化层(DAO/PO).<br />    1.WEB层,采用Struts.<br />        1.1 JSP页面采用少量的Struts标签,其他功能通过自定义标签完成.<br />       1.2 页面操作分为 添加(修改)/列表 两部分.基本上通过CSS来展现.其中列表部分采用Displaytag<br />       1.3 按需要采用Ajax<br /><br />    2.业务层采用Spring.<br />       2.1 通过DelegatingActionProxy绑定Struts<br />       2.2 BO只有一个空父类.提供Log4j的实例.<br />       2.3 BO依赖与BaseDAO及具体业务DAO.<br />           2.3.1  BaseDAO完成基本的增删改查,<br />           2.3.2  具体业务DAO完成关于本表的复杂的查询<br />           2.3.3  多表关联的查询,则单独封装在DAO中<br />       2.4 事务控制统一由Spring AOP配置完成.<br /><br />    3.持久层采用Hibernate<br />       3.1 BaseDAO继承HibernateDaoSupport<br />       3.2 普通HSQL文查询.<br /><br /><br />    以上是当前项目的状况,以后会逐一对其改进.<br /><img src ="http://www.blogjava.net/aihua/aggbug/56593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aihua/" target="_blank">aihua</a> 2006-07-04 21:33 <a href="http://www.blogjava.net/aihua/archive/2006/07/04/56593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>