﻿<?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-花香蝶自来-随笔分类-Open source</title><link>http://www.blogjava.net/ltc603/category/14133.html</link><description>&lt;font size="3"&gt;学无止境&lt;/font&gt;
&lt;br&gt;

&lt;script type="text/javascript" src="http://wujunlove.googlepages.com/bigstaticeyes.js"&gt;&lt;/script&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:46:09 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:46:09 GMT</pubDate><ttl>60</ttl><item><title>htmlparser例子</title><link>http://www.blogjava.net/ltc603/archive/2006/09/15/69811.html</link><dc:creator>阿成</dc:creator><author>阿成</author><pubDate>Fri, 15 Sep 2006 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/ltc603/archive/2006/09/15/69811.html</guid><wfw:comment>http://www.blogjava.net/ltc603/comments/69811.html</wfw:comment><comments>http://www.blogjava.net/ltc603/archive/2006/09/15/69811.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ltc603/comments/commentRss/69811.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ltc603/services/trackbacks/69811.html</trackback:ping><description><![CDATA[
		<div>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.htmlparser.Node;<br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.htmlparser.NodeFilter;<br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.htmlparser.Parser;<br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.htmlparser.filters.TagNameFilter;<br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.htmlparser.tags.TableTag;<br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.htmlparser.util.NodeList;<br /><br /></span>
				<span style="COLOR: #008000">/**</span>
				<span style="COLOR: #008000">
						<br /> * &lt;br&gt;<br /> * 标题: &lt;br&gt;<br /> * 功能概要: &lt;br&gt;<br /> * 版权: cityyouth.cn (c) 2005 &lt;br&gt;<br /> * 公司:上海城市青年网 &lt;br&gt;<br /> * 创建时间:2005-12-21 &lt;br&gt;<br /> * 修改时间: &lt;br&gt;<br /> * 修改原因：<br /> * <br /> * </span>
				<span style="COLOR: #808080">@author</span>
				<span style="COLOR: #008000"> 张伟<br /> * </span>
				<span style="COLOR: #808080">@version</span>
				<span style="COLOR: #008000"> 1.0<br /> </span>
				<span style="COLOR: #008000">*/</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> TestYahoo {<br />    </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"> testHtml() {<br />        </span>
				<span style="COLOR: #0000ff">try</span>
				<span style="COLOR: #000000"> {<br />            String sCurrentLine;<br />            String sTotalString;<br />            sCurrentLine </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">""</span>
				<span style="COLOR: #000000">;<br />            sTotalString </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">""</span>
				<span style="COLOR: #000000">;<br />            java.io.InputStream l_urlStream;<br />            java.net.URL l_url </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> java.net.URL(<br />                    </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">http://sports.sina.com.cn/iframe/nba/live/</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />            java.net.HttpURLConnection l_connection </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> (java.net.HttpURLConnection) l_url<br />                    .openConnection();<br />            l_connection.connect();<br />            l_urlStream </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> l_connection.getInputStream();<br />            java.io.BufferedReader l_reader </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> java.io.BufferedReader(<br />                    </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> java.io.InputStreamReader(l_urlStream));<br />            </span>
				<span style="COLOR: #0000ff">while</span>
				<span style="COLOR: #000000"> ((sCurrentLine </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> l_reader.readLine()) </span>
				<span style="COLOR: #000000">!=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">null</span>
				<span style="COLOR: #000000">) {<br />                sTotalString </span>
				<span style="COLOR: #000000">+=</span>
				<span style="COLOR: #000000"> sCurrentLine;<br />            }<br />            System.out.println(sTotalString);<br /><br />            System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">====================</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />            String testText </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> extractText(sTotalString);<br />            System.out.println(testText);<br />        } </span>
				<span style="COLOR: #0000ff">catch</span>
				<span style="COLOR: #000000"> (Exception e) {<br />            e.printStackTrace();<br />        }<br /><br />    }<br /><br />    </span>
				<span style="COLOR: #008000">/**</span>
				<span style="COLOR: #008000">
						<br />     * 抽取纯文本信息<br />     * <br />     * </span>
				<span style="COLOR: #808080">@param</span>
				<span style="COLOR: #008000"> inputHtml<br />     * </span>
				<span style="COLOR: #808080">@return</span>
				<span style="COLOR: #008000">
						<br />     </span>
				<span style="COLOR: #008000">*/</span>
				<span style="COLOR: #000000">
						<br />    </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> String extractText(String inputHtml) </span>
				<span style="COLOR: #0000ff">throws</span>
				<span style="COLOR: #000000"> Exception {<br />        StringBuffer text </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> StringBuffer();<br /><br />        Parser parser </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Parser.createParser(</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> String(inputHtml.getBytes(),<br />                </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">8859_1</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">), </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">8859-1</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 遍历所有的节点</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #000000">        NodeList nodes </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> parser.extractAllNodesThatMatch(</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> NodeFilter() {<br />            </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">boolean</span>
				<span style="COLOR: #000000"> accept(Node node) {<br />                </span>
				<span style="COLOR: #0000ff">return</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">true</span>
				<span style="COLOR: #000000">;<br />            }<br />        });<br />        Node node </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> nodes.elementAt(</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">);<br />        text.append(</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> String(node.toPlainTextString().getBytes(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">8859_1</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">)));<br />        </span>
				<span style="COLOR: #0000ff">return</span>
				<span style="COLOR: #000000"> text.toString();<br />    }<br /><br />    </span>
				<span style="COLOR: #008000">/**</span>
				<span style="COLOR: #008000">
						<br />     * 读取文件的方式来分析内容. filePath也可以是一个Url.<br />     * <br />     * </span>
				<span style="COLOR: #808080">@param</span>
				<span style="COLOR: #008000"> resource<br />     *            文件/Url<br />     </span>
				<span style="COLOR: #008000">*/</span>
				<span style="COLOR: #000000">
						<br />    </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"> test5(String resource) </span>
				<span style="COLOR: #0000ff">throws</span>
				<span style="COLOR: #000000"> Exception {<br />        Parser myParser </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> Parser(resource);<br /><br />        </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 设置编码</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #000000">        myParser.setEncoding(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">GBK</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />        String filterStr </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">table</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br />        NodeFilter filter </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> TagNameFilter(filterStr);<br />        NodeList nodeList </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> myParser.extractAllNodesThatMatch(filter);<br />        TableTag tabletag </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> (TableTag) nodeList.elementAt(</span>
				<span style="COLOR: #000000">11</span>
				<span style="COLOR: #000000">);<br />            <br />            System.out.println(tabletag.toHtml());<br />            <br />            System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">==============</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><br />    }<br /><br />    </span>
				<span style="COLOR: #008000">/*</span>
				<span style="COLOR: #008000">
						<br />     * public static void main(String[] args) { TestYahoo testYahoo = new<br />     * TestYahoo(); testYahoo.testHtml(); }<br />     </span>
				<span style="COLOR: #008000">*/</span>
				<span style="COLOR: #000000">
						<br />    </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"> main(String[] args) </span>
				<span style="COLOR: #0000ff">throws</span>
				<span style="COLOR: #000000"> Exception {<br />        test5(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">http://sports.yahoo.com/nba/scoreboard</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br />    }<br />}</span>
		</div>
<img src ="http://www.blogjava.net/ltc603/aggbug/69811.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ltc603/" target="_blank">阿成</a> 2006-09-15 10:04 <a href="http://www.blogjava.net/ltc603/archive/2006/09/15/69811.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j基本使用方法</title><link>http://www.blogjava.net/ltc603/archive/2006/08/16/63987.html</link><dc:creator>阿成</dc:creator><author>阿成</author><pubDate>Wed, 16 Aug 2006 12:02:00 GMT</pubDate><guid>http://www.blogjava.net/ltc603/archive/2006/08/16/63987.html</guid><wfw:comment>http://www.blogjava.net/ltc603/comments/63987.html</wfw:comment><comments>http://www.blogjava.net/ltc603/archive/2006/08/16/63987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ltc603/comments/commentRss/63987.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ltc603/services/trackbacks/63987.html</trackback:ping><description><![CDATA[
		<p>Log4j基本使用方法<br />(转<a href="http://blogger.org.cn/blog/more.asp?name=dashee&amp;id=6431">http://blogger.org.cn/blog/more.asp?name=dashee&amp;id=6431</a>)<br />　　Log4j由三个重要的组件构成：日志信息的优先级，日志信息的输出目的地，日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 
INFO、DEBUG，分别用来指定这条日志信息的重要程度；日志信息的输出目的地指定了日志将打印到控制台还是文件中；而输出格式则控制了日志信息的显示内容。<br /><br />　　一、定义配置文件<br /><br />　　其实您也可以完全不使用配置文件，而是在代码中配置Log4j环境。但是，使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式，一种是XML格式的文件，一种是Java特性文件（键=值）。下面我们介绍使用Java特性文件做为配置文件的方法：<br /><br />　　1.配置根Logger，其语法为：<br /><br />　　log4j.rootLogger 
= [ level ] , appenderName, appenderName, …<br /><br />　　其中，level 
是日志记录的优先级，分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别，优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别，您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别，则应用程序中所有DEBUG级别的日志信息将不被打印出来。 
appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。<br /><br />　　2.配置日志信息输出目的地Appender，其语法为：<br /><br />　　log4j.appender.appenderName 
= 
fully.qualified.name.of.appender.class<br />　　log4j.appender.appenderName.option1 
= value1<br />　　…<br />　　log4j.appender.appenderName.option = 
valueN<br /><br />　　其中，Log4j提供的appender有以下几种：<br />　　org.apache.log4j.ConsoleAppender（控制台），<br />　　org.apache.log4j.FileAppender（文件），<br />　　org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件），<br />　　org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生一个新的文件），<br />　　org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方）<br /><br />　　3.配置日志信息的格式（布局），其语法为：<br /><br />　　log4j.appender.appenderName.layout 
= 
fully.qualified.name.of.layout.class<br />　　log4j.appender.appenderName.layout.option1 
= value1<br />　　…<br />　　log4j.appender.appenderName.layout.option = 
valueN<br /><br />　　其中，Log4j提供的layout有以e几种：<br />　　org.apache.log4j.HTMLLayout（以HTML表格形式布局），<br />　　org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br />　　org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br />　　org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息）<br /><br />　　Log4J采用类似C语言中的printf函数的打印格式格式化日志信息，打印参数如下： 
%m 输出代码中指定的消息<br /><br />　　%p 输出优先级，即DEBUG，INFO，WARN，ERROR，FATAL<br />　　%r 
输出自应用启动到输出该log信息耗费的毫秒数<br />　　%c 输出所属的类目，通常就是所在类的全名<br />　　%t 输出产生该日志事件的线程名<br />　　%n 
输出一个回车换行符，Windows平台为“\r\n”，Unix平台为“\n”<br />　　%d 
输出日志时间点的日期或时间，默认格式为ISO8601，也可以在其后指定格式，比如：%d{yyy MMM dd 
HH:mm:ss,SSS}，输出类似：2002年10月18日 22：10：28，921<br />　　%l 
输出日志事件的发生位置，包括类目名、发生的线程，以及在代码中的行数。举例：Testlog4.main(TestLog4.java:10)<br /><br />　　二、在代码中使用Log4j<br /><br />　　1.得到记录器<br /><br />　　使用Log4j，第一步就是获取日志记录器，这个记录器将负责控制日志信息。其语法为：<br /><br />　　public 
static Logger getLogger( String 
name)<br /><br />　　通过指定的名字获得记录器，如果必要的话，则为这个名字创建一个新的记录器。Name一般取本类的名字，比如：<br /><br />　　static 
Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () 
)<br /><br />　　2.读取配置文件<br /><br />　　当获得了日志记录器之后，第二步将配置Log4j环境，其语法为：<br /><br />　　BasicConfigurator.configure 
()： 自动快速地使用缺省Log4j环境。<br />　　PropertyConfigurator.configure ( String 
configFilename) ：读取使用Java的特性文件编写的配置文件。<br />　　DOMConfigurator.configure ( String 
filename ) 
：读取XML形式的配置文件。<br /><br />　　3.插入记录信息（格式化日志信息）<br /><br />　　当上两个必要步骤执行完毕，您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方，其语法如下：<br /><br />　　Logger.debug 
( Object message ) ;<br />　　Logger.info ( Object message ) ;<br />　　Logger.warn ( 
Object message ) ;<br />　　Logger.error ( Object message ) ;</p>
<img src ="http://www.blogjava.net/ltc603/aggbug/63987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ltc603/" target="_blank">阿成</a> 2006-08-16 20:02 <a href="http://www.blogjava.net/ltc603/archive/2006/08/16/63987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JfreeChart学习总结</title><link>http://www.blogjava.net/ltc603/archive/2006/08/16/63834.html</link><dc:creator>阿成</dc:creator><author>阿成</author><pubDate>Wed, 16 Aug 2006 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/ltc603/archive/2006/08/16/63834.html</guid><wfw:comment>http://www.blogjava.net/ltc603/comments/63834.html</wfw:comment><comments>http://www.blogjava.net/ltc603/archive/2006/08/16/63834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ltc603/comments/commentRss/63834.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ltc603/services/trackbacks/63834.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 自己最近学习了JfreeChart的使用，觉得这个冬冬的功能非常强大，总结一下。一、简单介绍一下    WW				的发展使得基于因特网的应用程序不再局限于静态或者简单的动态内容提供。传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到因特网上。但是这两者之间有着天壤之别，虽然对于数据获取、业务处理等方面基本类似，但是最大的差别在于用户界面。为了能在web浏览器上显示要求用户界面使用 ...&nbsp;&nbsp;<a href='http://www.blogjava.net/ltc603/archive/2006/08/16/63834.html'>阅读全文</a><img src ="http://www.blogjava.net/ltc603/aggbug/63834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ltc603/" target="_blank">阿成</a> 2006-08-16 10:44 <a href="http://www.blogjava.net/ltc603/archive/2006/08/16/63834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用POI向Excel中插入图片实例</title><link>http://www.blogjava.net/ltc603/archive/2006/08/16/63805.html</link><dc:creator>阿成</dc:creator><author>阿成</author><pubDate>Wed, 16 Aug 2006 01:09:00 GMT</pubDate><guid>http://www.blogjava.net/ltc603/archive/2006/08/16/63805.html</guid><wfw:comment>http://www.blogjava.net/ltc603/comments/63805.html</wfw:comment><comments>http://www.blogjava.net/ltc603/archive/2006/08/16/63805.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ltc603/comments/commentRss/63805.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ltc603/services/trackbacks/63805.html</trackback:ping><description><![CDATA[前面已经讲过利用POI读写Excel，下面是一个用POI向Excel中插入图片的例子。<br /><br /><span class="postbody">官方文档：
<br /> Images are part of the drawing support. To add an image just call
createPicture() on the drawing patriarch. At the time of writing the
following types are supported: <br />
PNG 
<br />
JPG 
<br />
DIB 
<br />
It is not currently possible to read existing images and it should be
noted that any existing drawings may be erased once you add a image to
a sheet. <br /><br />
// Create the drawing patriarch. This is the top level container for 
<br />
// all shapes. This will clear out any existing shapes for that sheet.
</span><br /><br /><span class="postbody">通过HSSFPatriarch类createPicture方法的在指定的wb中的sheet创建图片,它接受二个参数，第一个是HSSFClientAnchor，设定图片的大小。<br /><br /></span>package com.poi.hssf.test;<br /><br />import java.io.FileOutputStream;<br />import java.io.File;<br />import java.io.ByteArrayOutputStream;<br />import java.io.IOException;<br /><br />import java.awt.image.BufferedImage;<br />import javax.imageio.*;<br /><br />import org.apache.poi.hssf.usermodel.HSSFWorkbook;<br />import org.apache.poi.hssf.usermodel.HSSFSheet;<br />import org.apache.poi.hssf.usermodel.HSSFPatriarch;<br />import org.apache.poi.hssf.usermodel.HSSFClientAnchor;;<br /><br />public class TestPOI { <br /><br />    public static void main(String[] args) { <br />            FileOutputStream fileOut = null; <br />            BufferedImage bufferImg =null; <br />            BufferedImage bufferImg1 = null; <br />            try{ <br />                <br />          //先把读进来的图片放到一个ByteArrayOutputStream中，以便产生ByteArray <br />          ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); <br />          ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream(); <br />          bufferImg = ImageIO.read(new File("d:/PieChart.jpg")); <br />          bufferImg1 = ImageIO.read(new File("d:/fruitBarChart.jpg")); <br />          ImageIO.write(bufferImg,"jpg",byteArrayOut); <br />          ImageIO.write(bufferImg1,"jpg",byteArrayOut1); <br />          <br />        //创建一个工作薄 <br />        HSSFWorkbook wb = new HSSFWorkbook(); <br />        HSSFSheet sheet1 = wb.createSheet("new sheet"); <br />        //HSSFRow row = sheet1.createRow(2); <br />        HSSFPatriarch patriarch = sheet1.createDrawingPatriarch(); <br />        HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20); <br />        HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,512,255,(short) 2,30,(short)10,60); <br />        anchor1.setAnchorType(2);<br />        //插入图片<br />        patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG)); <br />        patriarch.createPicture(anchor1 , wb.addPicture(byteArrayOut1.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG)); <br />        <br />            fileOut = new FileOutputStream("d:/workbook.xls"); <br />            //写入excel文件<br />            wb.write(fileOut); <br />            fileOut.close(); <br />        <br />            }catch(IOException io){ <br />                    io.printStackTrace(); <br />                    System.out.println("io erorr :  "+ io.getMessage()); <br />            } finally <br />            { <br />                if (fileOut != null) <br />                {<br />                           <br />                    try { <br />                              fileOut.close(); <br />                         } <br />                    catch (IOException e)<br />                    { <br />                            // TODO Auto-generated catch block <br />                            e.printStackTrace(); <br />                     } <br />                } <br />            }<br />    }<br />}<br /><br /><img src ="http://www.blogjava.net/ltc603/aggbug/63805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ltc603/" target="_blank">阿成</a> 2006-08-16 09:09 <a href="http://www.blogjava.net/ltc603/archive/2006/08/16/63805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用POI HSSF操作Excel总结</title><link>http://www.blogjava.net/ltc603/archive/2006/08/16/63804.html</link><dc:creator>阿成</dc:creator><author>阿成</author><pubDate>Wed, 16 Aug 2006 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/ltc603/archive/2006/08/16/63804.html</guid><wfw:comment>http://www.blogjava.net/ltc603/comments/63804.html</wfw:comment><comments>http://www.blogjava.net/ltc603/archive/2006/08/16/63804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ltc603/comments/commentRss/63804.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ltc603/services/trackbacks/63804.html</trackback:ping><description><![CDATA[
		<p style="BACKGROUND: white 0% 50%; TEXT-ALIGN: center; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" align="center">
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">利用<span lang="EN-US">Java </span>操作<span lang="EN-US">Excel</span>文档<span lang="EN-US">(POI</span>方法<span lang="EN-US">)<?xml:namespace prefix = o /?><o:p></o:p></span></span>
				</strong>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">一．<span lang="EN-US">POI</span>简介<span lang="EN-US"><o:p></o:p></span></span>
				</strong>
		</p>
		<p>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">Jakarta POI</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">是<span lang="EN-US">apache</span>的子项目，目标是处理<span lang="EN-US">ole2</span>对象。它提供了一组操纵<span lang="EN-US">Windows</span>文档的<span lang="EN-US">Java API<o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; TEXT-INDENT: 21pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">目前比较成熟的是<span lang="EN-US">HSSF</span>接口，处理<span lang="EN-US">MS Excel</span>（<span lang="EN-US">97-2002</span>）对象。它不象我们仅仅是用<span lang="EN-US">csv</span>生成的没有格式的可以由<span lang="EN-US">Excel</span>转换的东西，而是真正的<span lang="EN-US">Excel</span>对象，你可以控制一些属性如<span lang="EN-US">sheet,cell</span>等等。<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">二．<span lang="EN-US">HSSF</span>概况<span lang="EN-US"><o:p></o:p></span></span>
				</strong>
		</p>
		<p style="BACKGROUND: white 0% 50%; TEXT-INDENT: 21pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">HSSF</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">是<span lang="EN-US">Horrible SpreadSheet Format</span>的缩写，也即“讨厌的电子表格格式”。 也许<span lang="EN-US">HSSF</span>的名字有点滑稽，就本质而言它是一个非常严肃、正规的<span lang="EN-US">API</span>。通过<span lang="EN-US">HSSF</span>，你可以用纯<span lang="EN-US">Java</span>代码来读取、写入、修改<span lang="EN-US">Excel</span>文件。<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; TEXT-INDENT: 21pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">HSSF</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">为读取操作提供了两类<span lang="EN-US">API</span>：<span lang="EN-US">usermodel</span>和<span lang="EN-US">eventusermodel</span>，即“用户模型”和“事件<span lang="EN-US">-</span>用户模型”。前者很好理解，后者比较抽象，但操作效率要高得多。</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">三．开始编码<span lang="EN-US"><o:p></o:p></span></span>
				</strong>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">1</span>
				</strong>
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">．</span>
				</strong>
				<strong>
						<span style="FONT-SIZE: 14pt; FONT-FAMILY: 楷体_GB2312">准备工作<span lang="EN-US" style="COLOR: black"><o:p></o:p></span></span>
				</strong>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">要求<span lang="EN-US">:JDK 1.4+POI</span>开发包<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">可以到</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<a href="http://www.apache.org/dyn/closer.cgi/jakarta/poi/" target="_blank">
										<span style="COLOR: black">http://www.apache.org/dyn/closer.cgi/jakarta/poi/</span>
								</a>
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">最新的<span lang="EN-US">POI</span>工具包<span lang="EN-US"><o:p></o:p></span></span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">2</span>
				</strong>
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">．</span>
				</strong>
				<span class="tpccontent1">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">EXCEL</span>
						</b>
				</span>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">结构</span>
						</b>
				</span>
				<span class="tpccontent1">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
										<o:p>
										</o:p>
								</span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">HSSFWorkbook excell</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">文档对象介绍<span lang="EN-US"><br />HSSFSheet excell</span>的表单<span lang="EN-US"><br />HSSFRow excell</span>的行<span lang="EN-US"><br />HSSFCell excell</span>的格子单元<span lang="EN-US"><br />HSSFFont excell</span>字体<span lang="EN-US"><br />HSSFName </span>名称<span lang="EN-US"><br />HSSFDataFormat </span>日期格式<span lang="EN-US"><br /></span>在<span lang="EN-US">poi1.7</span>中才有以下<span lang="EN-US">2</span>项：<span lang="EN-US"><br />HSSFHeader sheet</span>头<span lang="EN-US"><br />HSSFFooter sheet</span>尾<span lang="EN-US"><br /></span>和这个样式<span lang="EN-US"><br />HSSFCellStyle cell</span>样式<span lang="EN-US"><br /></span>辅助操作包括<span lang="EN-US"><br />HSSFDateUtil </span>日期<span lang="EN-US"><br />HSSFPrintSetup </span>打印<span lang="EN-US"><br />HSSFErrorConstants </span>错误信息表</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">3</span>
				</strong>
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">．具体用法实例</span>
				</strong>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">（采用</span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">usermodel</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">）</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
										<o:p>
										</o:p>
								</span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">如何读<span lang="EN-US">Excel<o:p></o:p></span></span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">读取<span lang="EN-US">Excel</span>文件时，首先生成一个<span lang="EN-US">POIFSFileSystem</span>对象，由<span lang="EN-US">POIFSFileSystem</span>对象构造一个<span lang="EN-US">HSSFWorkbook</span>，该<span lang="EN-US">HSSFWorkbook</span>对象就代表了<span lang="EN-US">Excel</span>文档。下面代码读取上面生成的<span lang="EN-US">Excel</span>文件写入的消息字串： </span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
								<span class="tpccontent1">
										<span>POIFSFileSystemfs=newPOIFSFileSystem(new FileInputStream("d:\test.xls")); </span>
								</span>
								<br />
								<span class="tpccontent1">
										<span>HSSFWorkbook</span>
								</span>
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　<span lang="EN-US">wb = new HSSFWorkbook(fs);</span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">} catch (IOException e) { </span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">e.printStackTrace(); </span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">} </span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">HSSFSheet sheet = wb.getSheetAt(0); </span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">HSSFRow row = sheet.getRow(0); </span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">HSSFCell cell = row.getCell((short) 0);</span></span>
						</b>
				</span>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<br />
						</span>
				</b>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">　　<span lang="EN-US">String msg = cell.getStringCellValue();<o:p></o:p></span></span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">如何写<span lang="EN-US">excel</span>，<span lang="EN-US"><o:p></o:p></span></span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">将<span lang="EN-US">excel</span>的第一个表单第一行的第一个单元格的值写成“<span lang="EN-US">a test</span>”。<span lang="EN-US"><o:p></o:p></span></span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>HSSFWorkbook wb = new HSSFWorkbook(fs);<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>HSSFSheet sheet = wb.getSheetAt(0);<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>HSSFRow row = sheet.getRow(0);<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>HSSFCell cell = row.getCell((short)0);<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>cell.setCellValue("a test");<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>// Write the output to a file<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>FileOutputStream fileOut = new FileOutputStream("workbook.xls");<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<span>    </span>wb.write(fileOut);<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; TEXT-INDENT: 28.5pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">fileOut.close();<o:p></o:p></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">4</span>
				</strong>
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">．</span>
				</strong>
				<span class="tpccontent1">
						<b>
								<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">可参考文档</span>
						</b>
				</span>
				<span class="tpccontent1">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
										<o:p>
										</o:p>
								</span>
						</b>
				</span>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">POI</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">主页：<span lang="EN-US"><a href="http://jakarta.apache.org/poi/"><span style="COLOR: black">http://jakarta.apache.org/poi/</span></a></span>，<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">初学者如何快速上手使用<span lang="EN-US">POI HSSF<o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<a href="http://jakarta.apache.org/poi/hssf/quick-guide.html">
										<span style="COLOR: black">http://jakarta.apache.org/poi/hssf/quick-guide.html</span>
								</a>
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">。<span lang="EN-US"><o:p></o:p></span></span>
						<br />
						<br />
						<font color="#000000">代码例子 </font>
						<a href="http://blog.java-cn.com/user1/6749/archives/2005/18347.html">
								<font color="#000000">http://blog.java-cn.com/user1/6749/archives/2005/18347.html</font>
						</a>
						<br />
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">里面有很多例子代码，可以很方便上手。<span lang="EN-US"><o:p></o:p></span></span>
				</b>
		</p>
		<p style="BACKGROUND: white 0% 50%; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<strong>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">四．使用心得<span lang="EN-US"><o:p></o:p></span></span>
				</strong>
		</p>
		<p style="BACKGROUND: white 0% 50%; TEXT-INDENT: 21pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">POI HSSF</span>
				</b>
				<b>
						<span style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">的<span lang="EN-US">usermodel</span>包把<span lang="EN-US">Excel</span>文件映射成我们熟悉的结构，诸如<span lang="EN-US">Workbook</span>、<span lang="EN-US">Sheet</span>、<span lang="EN-US">Row</span>、<span lang="EN-US">Cell</span>等，它把整个结构以一组对象的形式保存在内存之中，便于理解，操作方便，基本上能够满足我们的要求，所以说这个一个不错的选择。</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal">
				<span class="tpccontent1">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: black; FONT-FAMILY: 楷体_GB2312">
										<o:p> </o:p>
								</span>
						</b>
				</span>
		</p>
<img src ="http://www.blogjava.net/ltc603/aggbug/63804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ltc603/" target="_blank">阿成</a> 2006-08-16 09:00 <a href="http://www.blogjava.net/ltc603/archive/2006/08/16/63804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>