﻿<?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-myjavaBlog-文章分类-javaSE</title><link>http://www.blogjava.net/myjavaBlog/category/35466.html</link><description>工作越努力学到的越多。
</description><language>zh-cn</language><lastBuildDate>Mon, 20 Jul 2009 11:19:26 GMT</lastBuildDate><pubDate>Mon, 20 Jul 2009 11:19:26 GMT</pubDate><ttl>60</ttl><item><title>java修改windows注册表设置程序自动运行</title><link>http://www.blogjava.net/myjavaBlog/articles/287403.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Mon, 20 Jul 2009 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/287403.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/287403.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/287403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/287403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/287403.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 需要修改的注册表项&nbsp;[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]&nbsp; 开机自动运行程序[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce] 开机自动运行程序 且 仅运行一次 [HKEY_LOCA...&nbsp;&nbsp;<a href='http://www.blogjava.net/myjavaBlog/articles/287403.html'>阅读全文</a><img src ="http://www.blogjava.net/myjavaBlog/aggbug/287403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-07-20 09:38 <a href="http://www.blogjava.net/myjavaBlog/articles/287403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>截取字符串问题</title><link>http://www.blogjava.net/myjavaBlog/articles/287399.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Mon, 20 Jul 2009 01:27:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/287399.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/287399.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/287399.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/287399.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/287399.html</trackback:ping><description><![CDATA[<p>public class Test {</p>
<p>&nbsp;/**<br />
&nbsp; * @param args<br />
&nbsp; */<br />
&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;String reg = "##12";</p>
<p>&nbsp;&nbsp;System.out.println("++" + reg);<br />
&nbsp;&nbsp;String[] s = reg.split("#{1,}");<br />
&nbsp;&nbsp;System.out.println(s.length);<br />
&nbsp;&nbsp;for (int a = 0; a &lt; s.length; a++) {<br />
&nbsp;&nbsp;&nbsp;System.out.println(s[a]);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;String reg1 = "12";</p>
<p>&nbsp;&nbsp;System.out.println("++" + reg1);<br />
&nbsp;&nbsp;String[] s1 = reg1.split("#{1,}");<br />
&nbsp;&nbsp;System.out.println(s1.length);<br />
&nbsp;&nbsp;for (int a = 0; a &lt; s1.length; a++) {<br />
&nbsp;&nbsp;&nbsp;System.out.println(s1[a]);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;String reg2 = "##";</p>
<p>&nbsp;&nbsp;System.out.println("++" + reg2);<br />
&nbsp;&nbsp;String[] s2 = reg2.split("#{1,}");<br />
&nbsp;&nbsp;System.out.println(s2.length);<br />
&nbsp;&nbsp;for (int a = 0; a &lt; s2.length; a++) {<br />
&nbsp;&nbsp;&nbsp;System.out.println(s2[a]);<br />
&nbsp;&nbsp;}<br />
&nbsp;}</p>
<p>}<br />
</p>
<img src ="http://www.blogjava.net/myjavaBlog/aggbug/287399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-07-20 09:27 <a href="http://www.blogjava.net/myjavaBlog/articles/287399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则表达式获取字符串指定字符</title><link>http://www.blogjava.net/myjavaBlog/articles/287395.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Mon, 20 Jul 2009 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/287395.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/287395.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/287395.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/287395.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/287395.html</trackback:ping><description><![CDATA[<p>/**<br />
&nbsp;* @author 李志远<br />
&nbsp;*/<br />
import java.util.regex.Matcher;<br />
import java.util.regex.Pattern;</p>
<p>public class GetString {</p>
<p>&nbsp;/**<br />
&nbsp; * @param args<br />
&nbsp; */<br />
&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;String reg = "a#bb##cc###";<br />
&nbsp;&nbsp;// 截取字符串<br />
&nbsp;&nbsp;String[] s = reg.split("#{1,}");<br />
&nbsp;&nbsp;for (int a = 0; a &lt; s.length; a++) {<br />
&nbsp;&nbsp;&nbsp;System.out.println("截取字符串：" + s[a]);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;// 获得指定字符<br />
&nbsp;&nbsp;Pattern pattern = Pattern.compile("#{1,}");<br />
&nbsp;&nbsp;Matcher match = pattern.matcher(reg);<br />
&nbsp;&nbsp;while (match.find()) {</p>
<p>&nbsp;&nbsp;&nbsp;String rules = match.group();<br />
&nbsp;&nbsp;&nbsp;System.out.println("指定字符：" + rules);<br />
&nbsp;&nbsp;}<br />
&nbsp;}</p>
<p>}<br />
</p>
<p>&nbsp;</p>
 <img src ="http://www.blogjava.net/myjavaBlog/aggbug/287395.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-07-20 09:04 <a href="http://www.blogjava.net/myjavaBlog/articles/287395.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则表达式截取字符串并用指定值替换</title><link>http://www.blogjava.net/myjavaBlog/articles/287394.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Mon, 20 Jul 2009 00:50:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/287394.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/287394.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/287394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/287394.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/287394.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 自己用java做了一个类似红蜻蜓截图的软件，里面要制作文件命名的模板，如：&nbsp;&nbsp; #aa##bb###&nbsp;#为需要用指定序号替换的字符，10起始值连续#个数小于等于起始值位数，#被起始值直接替换连续#个数大于起始值位数时，#被起始值替换并且多出的#用0替换&nbsp;&nbsp;1import&nbsp;java.util.regex.Matc...&nbsp;&nbsp;<a href='http://www.blogjava.net/myjavaBlog/articles/287394.html'>阅读全文</a><img src ="http://www.blogjava.net/myjavaBlog/aggbug/287394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-07-20 08:50 <a href="http://www.blogjava.net/myjavaBlog/articles/287394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JLabel无法设置背景颜色的解决办法</title><link>http://www.blogjava.net/myjavaBlog/articles/281770.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Fri, 12 Jun 2009 03:06:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/281770.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/281770.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/281770.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/281770.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/281770.html</trackback:ping><description><![CDATA[<p>JLabel默认情况下是透明的所以直接设置背景颜色是无法显示的。<br />
必须将其设置为不透明才能显示背景。如<br />
label.setOpaque(true); <br />
label.setColor(Color.red);<br />
这样就能解决无法显示背景的问题了。</p>
 <img src ="http://www.blogjava.net/myjavaBlog/aggbug/281770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-06-12 11:06 <a href="http://www.blogjava.net/myjavaBlog/articles/281770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用ButtonGroup实现JRadioButton单选</title><link>http://www.blogjava.net/myjavaBlog/articles/280166.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Fri, 05 Jun 2009 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/280166.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/280166.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/280166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/280166.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/280166.html</trackback:ping><description><![CDATA[JRadioButton opt1=new JRadio("中餐");<br />
JRadioButton opt2=new JRadio("西餐");<br />
ButtonGroup group1=new Buttongroup();<br />
group1.add(opt1);<br />
group1.add(opt2);<br />
JFrame frame=new JFrame("菜单");<br />
constainer c=frame.getcontentPane();<br />
c.setlayout(new.Flowlayout());<br />
c.add(opt1);<br />
c.add(opt2); <br />
frame.setsize(300,200);<br />
frame.setTitle("First");<br />
frame.setvisible(true);
<img src ="http://www.blogjava.net/myjavaBlog/aggbug/280166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-06-05 10:47 <a href="http://www.blogjava.net/myjavaBlog/articles/280166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中Object类型转化为基本 数据类型</title><link>http://www.blogjava.net/myjavaBlog/articles/263298.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Wed, 01 Apr 2009 02:52:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/263298.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/263298.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/263298.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/263298.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/263298.html</trackback:ping><description><![CDATA[<p>基本数据类型也属于对象<br />
如果一个object 值为float<br />
<br />
float&nbsp; test=(Float)object;<br />
括号内必须为基本类型的封装类</p>
<img src ="http://www.blogjava.net/myjavaBlog/aggbug/263298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-04-01 10:52 <a href="http://www.blogjava.net/myjavaBlog/articles/263298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java操作Excel和PDF【来自网络】</title><link>http://www.blogjava.net/myjavaBlog/articles/258570.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Mon, 09 Mar 2009 03:31:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/258570.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/258570.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/258570.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/258570.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/258570.html</trackback:ping><description><![CDATA[<p><br />
jxl是一个*国人写的java操作excel的工具, 在<a onclick="javascript:tagshow(event, '%BF%AA%D4%B4');" href="javascript:;" target="_self"><u><strong>开源</strong></u></a>世界中，有两套比较有影响的API可供使用，一个是POI，一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好，API是纯Java的， 并不依赖Windows系统，即使运行在Linux下，它同样能够正确的处理Excel文件。 另外需要说明的是，这套API对图形和图表的支持很有限，而且仅仅识别PNG格式。</p>
<p>使用如下：</p>
<p>搭建环境</p>
<p>将下载后的文件解包，得到jxl.jar，放入classpath，<a onclick="javascript:tagshow(event, '%B0%B2%D7%B0');" href="javascript:;" target="_self"><u><strong>安装</strong></u></a>就完成了。</p>
<p>基本操作</p>
<p>一、创建文件</p>
<p>拟生成一个名为&#8220;test.xls&#8221;的Excel文件，其中第一个工作表被命名为<br />
&#8220;第一页&#8221;，大致效果如下：<br />
Java代码<br />
package&nbsp; test;&nbsp;&nbsp;<br />
&nbsp;<br />
// 生成Excel的类&nbsp;&nbsp;&nbsp;<br />
import&nbsp; java.io.File;&nbsp;&nbsp;<br />
&nbsp;<br />
import&nbsp; jxl.Workbook;&nbsp;&nbsp;<br />
import&nbsp; jxl.write.Label;&nbsp;&nbsp;<br />
import&nbsp; jxl.write.WritableSheet;&nbsp;&nbsp;<br />
import&nbsp; jxl.write.WritableWorkbook;&nbsp;&nbsp;<br />
&nbsp;<br />
public&nbsp;&nbsp; class&nbsp; CreateExcel&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main(String args[])&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 打开文件&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableWorkbook book&nbsp; =&nbsp; Workbook.createWorkbook( new&nbsp; File( " test.xls " ));&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 生成名为&#8220;第一页&#8221;的工作表，参数0表示这是第一页&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableSheet sheet&nbsp; =&nbsp; book.createSheet( " 第一页 " ,&nbsp; 0 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 以及单元格内容为test&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Label label&nbsp; =&nbsp;&nbsp; new&nbsp; Label( 0 ,&nbsp; 0 ,&nbsp; " test " );&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 将定义好的单元格添加到工作表中&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sheet.addCell(label);&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**/ /*&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 生成一个保存数字的单元格 必须使用Number的完整包路径，否则有语法歧义 单元格位置是第二列，第一行，值为789.123&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jxl.write.Number number&nbsp; =&nbsp;&nbsp; new&nbsp; jxl.write.Number( 1 ,&nbsp; 0 ,&nbsp; 555.12541 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sheet.addCell(number);&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 写入数据并关闭文件&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.write();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; catch&nbsp; (Exception e)&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;package&nbsp; test;</p>
<p>&nbsp;// 生成Excel的类<br />
&nbsp;import&nbsp; java.io.File;</p>
<p>&nbsp;import&nbsp; jxl.Workbook;<br />
&nbsp;import&nbsp; jxl.write.Label;<br />
&nbsp;import&nbsp; jxl.write.WritableSheet;<br />
&nbsp;import&nbsp; jxl.write.WritableWorkbook;</p>
<p>&nbsp;public&nbsp;&nbsp; class&nbsp; CreateExcel&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main(String args[])&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 打开文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableWorkbook book&nbsp; =&nbsp; Workbook.createWorkbook( new&nbsp; File( " test.xls " ));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 生成名为&#8220;第一页&#8221;的工作表，参数0表示这是第一页<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableSheet sheet&nbsp; =&nbsp; book.createSheet( " 第一页 " ,&nbsp; 0 );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 以及单元格内容为test<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Label label&nbsp; =&nbsp;&nbsp; new&nbsp; Label( 0 ,&nbsp; 0 ,&nbsp; " test " );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 将定义好的单元格添加到工作表中<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sheet.addCell(label);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**/ /*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 生成一个保存数字的单元格 必须使用Number的完整包路径，否则有语法歧义 单元格位置是第二列，第一行，值为789.123<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jxl.write.Number number&nbsp; =&nbsp;&nbsp; new&nbsp; jxl.write.Number( 1 ,&nbsp; 0 ,&nbsp; 555.12541 );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sheet.addCell(number);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 写入数据并关闭文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.write();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; catch&nbsp; (Exception e)&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
&nbsp;</p>
<p>&nbsp;&nbsp; 编译执行后，会产生一个Excel文件。</p>
<p>三、读取文件</p>
<p>以刚才我们创建的Excel文件为例，做一个简单的读取操作，程序代码如下：<br />
Java代码<br />
package&nbsp; test;&nbsp;&nbsp;<br />
&nbsp;<br />
// 读取Excel的类&nbsp;&nbsp;&nbsp;<br />
import&nbsp; java.io.File;&nbsp;&nbsp;<br />
&nbsp;<br />
import&nbsp; jxl.Cell;&nbsp;&nbsp;<br />
import&nbsp; jxl.Sheet;&nbsp;&nbsp;<br />
import&nbsp; jxl.Workbook;&nbsp;&nbsp;<br />
&nbsp;<br />
public&nbsp;&nbsp; class&nbsp; ReadExcel&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main(String args[])&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workbook book&nbsp; =&nbsp; Workbook.getWorkbook( new&nbsp; File( " test.xls " ));&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 获得第一个工作表对象&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sheet sheet&nbsp; =&nbsp; book.getSheet( 0 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 得到第一列第一行的单元格&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cell cell1&nbsp; =&nbsp; sheet.getCell( 0 ,&nbsp; 0 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String result&nbsp; =&nbsp; cell1.getContents();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(result);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; catch&nbsp; (Exception e)&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;package&nbsp; test;</p>
<p>&nbsp;// 读取Excel的类<br />
&nbsp;import&nbsp; java.io.File;</p>
<p>&nbsp;import&nbsp; jxl.Cell;<br />
&nbsp;import&nbsp; jxl.Sheet;<br />
&nbsp;import&nbsp; jxl.Workbook;</p>
<p>&nbsp;public&nbsp;&nbsp; class&nbsp; ReadExcel&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main(String args[])&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workbook book&nbsp; =&nbsp; Workbook.getWorkbook( new&nbsp; File( " test.xls " ));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 获得第一个工作表对象<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sheet sheet&nbsp; =&nbsp; book.getSheet( 0 );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 得到第一列第一行的单元格<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cell cell1&nbsp; =&nbsp; sheet.getCell( 0 ,&nbsp; 0 );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String result&nbsp; =&nbsp; cell1.getContents();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(result);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; catch&nbsp; (Exception e)&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
&nbsp;</p>
<p>&nbsp; 程序执行结果：test</p>
<p>四、修改文件<br />
利用jExcelAPI可以修改已有的Excel文件，修改Excel文件的时候，除了打开文件的方式不同之外，<br />
其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表：<br />
Java代码<br />
package&nbsp; test;&nbsp;&nbsp;<br />
&nbsp;<br />
import&nbsp; java.io.File;&nbsp;&nbsp;<br />
&nbsp;<br />
import&nbsp; jxl.Workbook;&nbsp;&nbsp;<br />
import&nbsp; jxl.write.Label;&nbsp;&nbsp;<br />
import&nbsp; jxl.write.WritableSheet;&nbsp;&nbsp;<br />
import&nbsp; jxl.write.WritableWorkbook;&nbsp;&nbsp;<br />
&nbsp;<br />
public&nbsp;&nbsp; class&nbsp; UpdateExcel&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main(String args[])&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; Excel获得文件&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workbook wb&nbsp; =&nbsp; Workbook.getWorkbook( new&nbsp; File( " test.xls " ));&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 打开一个文件的副本，并且指定数据写回到原文件&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableWorkbook book&nbsp; =&nbsp; Workbook.createWorkbook( new&nbsp; File( " test.xls " ),&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wb);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 添加一个工作表&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableSheet sheet&nbsp; =&nbsp; book.createSheet( " 第二页 " ,&nbsp; 1 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sheet.addCell( new&nbsp; Label( 0 ,&nbsp; 0 ,&nbsp; " 第二页的<a onclick="javascript:tagshow(event, '%B2%E2%CA%D4');" href="javascript:;" target="_self"><u><strong>测试</strong></u></a>数据 " ));&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.write();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; catch&nbsp; (Exception e)&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;package&nbsp; test;</p>
<p>&nbsp;import&nbsp; java.io.File;</p>
<p>&nbsp;import&nbsp; jxl.Workbook;<br />
&nbsp;import&nbsp; jxl.write.Label;<br />
&nbsp;import&nbsp; jxl.write.WritableSheet;<br />
&nbsp;import&nbsp; jxl.write.WritableWorkbook;</p>
<p>&nbsp;public&nbsp;&nbsp; class&nbsp; UpdateExcel&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main(String args[])&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; Excel获得文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workbook wb&nbsp; =&nbsp; Workbook.getWorkbook( new&nbsp; File( " test.xls " ));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 打开一个文件的副本，并且指定数据写回到原文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableWorkbook book&nbsp; =&nbsp; Workbook.createWorkbook( new&nbsp; File( " test.xls " ),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wb);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 添加一个工作表<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WritableSheet sheet&nbsp; =&nbsp; book.createSheet( " 第二页 " ,&nbsp; 1 );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sheet.addCell( new&nbsp; Label( 0 ,&nbsp; 0 ,&nbsp; " 第二页的测试数据 " ));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.write();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; catch&nbsp; (Exception e)&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
&nbsp;</p>
<p>其他操作</p>
<p>一、 数据格式化</p>
<p>在Excel中不涉及复杂的数据类型，能够比较好的处理字串、数字和日期已经能够满足一般的应用。</p>
<p>1、 字串格式化</p>
<p>字符串的格式化涉及到的是字体、粗细、字号等元素，这些功能主要由WritableFont和<br />
WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时，使用如下语句，<br />
为方便叙述，我们为每一行命令加了编号：<br />
Java代码<br />
WritableFont font1 =&nbsp;&nbsp;&nbsp;<br />
&nbsp;new&nbsp; WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ①&nbsp;&nbsp;<br />
&nbsp;<br />
WritableCellFormat format1 = new&nbsp; WritableCellFormat(font1); ②&nbsp;&nbsp;<br />
&nbsp;<br />
Label label = new&nbsp; Label( 0 , 0 ,&#8221;data&nbsp; 4&nbsp; test&#8221;,format1) ③&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;其中①指定了字串格式：字体为TIMES，字号16，加粗显示。WritableFont有非常丰富的&nbsp;&nbsp;<br />
构造子，供不同情况下使用，jExcelAPI的java-doc中有详细列表，这里不再列出。&nbsp;&nbsp;<br />
&nbsp;<br />
②处代码使用了WritableCellFormat类，这个类非常重要，通过它可以指定单元格的各种&nbsp;&nbsp;<br />
属性，后面的单元格格式化中会有更多描述。&nbsp;&nbsp;<br />
&nbsp;<br />
③处使用了Label类的构造子，指定了字串被赋予那种格式。&nbsp;&nbsp;<br />
&nbsp;<br />
在WritableCellFormat类中，还有一个很重要的方法是指定数据的对齐方式，比如针对我们&nbsp;&nbsp;<br />
上面的实例，可以指定：&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp; // 把水平对齐方式指定为居中&nbsp;&nbsp;&nbsp;<br />
&nbsp;format1.setAlignment(jxl.format.Alignment.CENTRE);&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;// 把垂直对齐方式指定为居中&nbsp;&nbsp;&nbsp;<br />
&nbsp;format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);&nbsp;&nbsp;</p>
<p>&nbsp;WritableFont font1 =<br />
&nbsp; new&nbsp; WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ①</p>
<p>&nbsp;WritableCellFormat format1 = new&nbsp; WritableCellFormat(font1); ②</p>
<p>&nbsp;Label label = new&nbsp; Label( 0 , 0 ,&#8221;data&nbsp; 4&nbsp; test&#8221;,format1) ③</p>
<p><br />
&nbsp; 其中①指定了字串格式：字体为TIMES，字号16，加粗显示。WritableFont有非常丰富的<br />
&nbsp;构造子，供不同情况下使用，jExcelAPI的java-doc中有详细列表，这里不再列出。</p>
<p>&nbsp;②处代码使用了WritableCellFormat类，这个类非常重要，通过它可以指定单元格的各种<br />
&nbsp;属性，后面的单元格格式化中会有更多描述。</p>
<p>&nbsp;③处使用了Label类的构造子，指定了字串被赋予那种格式。</p>
<p>&nbsp;在WritableCellFormat类中，还有一个很重要的方法是指定数据的对齐方式，比如针对我们<br />
&nbsp;上面的实例，可以指定：</p>
<p>&nbsp;&nbsp; // 把水平对齐方式指定为居中<br />
&nbsp; format1.setAlignment(jxl.format.Alignment.CENTRE);</p>
<p>&nbsp; // 把垂直对齐方式指定为居中<br />
&nbsp; format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);<br />
&nbsp;<br />
二、单元格操作</p>
<p>Excel中很重要的一部分是对单元格的操作，比如行高、列宽、单元格合并等，所幸jExcelAPI<br />
提供了这些支持。这些操作相对比较简单，下面只介绍一下相关的API。</p>
<p>1、 合并单元格<br />
Java代码<br />
WritableSheet.mergeCells( int&nbsp; m, int&nbsp; n, int&nbsp; p, int&nbsp; q);&nbsp;&nbsp;&nbsp;<br />
&nbsp;<br />
// 作用是从(m,n)到(p,q)的单元格全部合并，比如：&nbsp;&nbsp;&nbsp;<br />
WritableSheet sheet = book.createSheet(&#8220;第一页&#8221;, 0 );&nbsp;&nbsp;<br />
&nbsp;<br />
// 合并第一列第一行到第六列第一行的所有单元格&nbsp;&nbsp;&nbsp;<br />
sheet.mergeCells( 0 , 0 , 5 , 0 );&nbsp;&nbsp;</p>
<p>&nbsp; WritableSheet.mergeCells( int&nbsp; m, int&nbsp; n, int&nbsp; p, int&nbsp; q);</p>
<p>&nbsp; // 作用是从(m,n)到(p,q)的单元格全部合并，比如：<br />
&nbsp; WritableSheet sheet = book.createSheet(&#8220;第一页&#8221;, 0 );</p>
<p>&nbsp; // 合并第一列第一行到第六列第一行的所有单元格<br />
&nbsp; sheet.mergeCells( 0 , 0 , 5 , 0 );<br />
&nbsp;<br />
合并既可以是横向的，也可以是纵向的。合并后的单元格不能再次进行合并，否则会触发异常。</p>
<p>2、 行高和列宽<br />
Java代码<br />
&nbsp;WritableSheet.setRowView( int&nbsp; i, int&nbsp; height);&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;// 作用是指定第i+1行的高度，比如：&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;// 将第一行的高度设为200&nbsp;&nbsp;&nbsp;<br />
&nbsp;sheet.setRowView( 0 , 200 );&nbsp;&nbsp;<br />
&nbsp;<br />
WritableSheet.setColumnView( int&nbsp; i, int&nbsp; width);&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;// 作用是指定第i+1列的宽度，比如：&nbsp;&nbsp;<br />
&nbsp;<br />
&nbsp;// 将第一列的宽度设为30&nbsp;&nbsp;&nbsp;<br />
&nbsp;sheet.setColumnView( 0 , 30 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</p>
<p>&nbsp; WritableSheet.setRowView( int&nbsp; i, int&nbsp; height);</p>
<p>&nbsp; // 作用是指定第i+1行的高度，比如：</p>
<p>&nbsp; // 将第一行的高度设为200<br />
&nbsp; sheet.setRowView( 0 , 200 );</p>
<p>&nbsp;WritableSheet.setColumnView( int&nbsp; i, int&nbsp; width);</p>
<p>&nbsp; // 作用是指定第i+1列的宽度，比如：</p>
<p>&nbsp; // 将第一列的宽度设为30<br />
&nbsp; sheet.setColumnView( 0 , 30 );<br />
&nbsp;<br />
&nbsp;</p>
<p>jExcelAPI还有其他的一些功能，比如插入图片等，这里就不再一一介绍，读者可以自己探索。</p>
<p>其中：如果读一个excel，需要知道它有多少行和多少列，如下操作：<br />
Java代码<br />
Workbook book&nbsp; =&nbsp; Workbook.getWorkbook( new&nbsp; File( " 测试1.xls " ));&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 获得第一个工作表对象&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sheet sheet&nbsp; =&nbsp; book.getSheet( 0 );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 得到第一列第一行的单元格&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp; columnum&nbsp; =&nbsp; sheet.getColumns(); //&nbsp; 得到列数&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int&nbsp; rownum&nbsp; =&nbsp; sheet.getRows(); //&nbsp; 得到行数&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(columnum);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(rownum);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp; ( int&nbsp; i&nbsp; =&nbsp;&nbsp; 0 ; i&nbsp; &lt;&nbsp; rownum; i ++ ) //&nbsp; 循环进行读写&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp; ( int&nbsp; j&nbsp; =&nbsp;&nbsp; 0 ; j&nbsp; &lt;&nbsp; columnum; j ++ )&nbsp;&nbsp; {&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cell cell1&nbsp; =&nbsp; sheet.getCell(j, i);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String result&nbsp; =&nbsp; cell1.getContents();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(result);&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print( " \t " );&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println();&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; book.close();&nbsp;&nbsp;<br />
</p>
<img src ="http://www.blogjava.net/myjavaBlog/aggbug/258570.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-03-09 11:31 <a href="http://www.blogjava.net/myjavaBlog/articles/258570.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse添加插件的简单办法</title><link>http://www.blogjava.net/myjavaBlog/articles/256558.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Wed, 25 Feb 2009 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/256558.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/256558.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/256558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/256558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/256558.html</trackback:ping><description><![CDATA[有时候我们需要从网上下载一些eclipse的插件然后将它们添加到eclipse中。<br />
1、最简单的办法是将插件压缩包解压直接复制到eclipse根目录下，但是我使用这个的方法时有时出错。<br />
2、还有一种跟稳妥的方法，就是在eclipse目录下的links目录下创建一个****.link文件，用记事本打开文件写入插件的目录如<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path=D:\swing\(D:\swing\是插件解压后的根目录)
<img src ="http://www.blogjava.net/myjavaBlog/aggbug/256558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-02-25 10:44 <a href="http://www.blogjava.net/myjavaBlog/articles/256558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何打war包</title><link>http://www.blogjava.net/myjavaBlog/articles/253569.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Fri, 06 Feb 2009 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/253569.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/253569.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/253569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/253569.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/253569.html</trackback:ping><description><![CDATA[<p><span style="color: red">1.利用jdk里的工具</span><span style="font-family: 宋体"><br />
例如我们要打包的文件在D:\cbweb；<br />
运行 cmd； md D:\cbweb进入D:\cbweb<br />
然后输入jar -cvf&nbsp;<wbr> cbweb.war *<br />
回车，文件配打包成cbweb.war *，位于D:\cbweb中。<br />
<span style="color: red">2.利用eclipse</span></span></p>
<span style="font-family: 宋体">在WebRoot上单击右键，选择Export选项， <br />
然后选择J2EE &nbsp; WAR &nbsp; file选项，然后选择工程名称和路径，单击完成就可以了。</span>
  <img src ="http://www.blogjava.net/myjavaBlog/aggbug/253569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2009-02-06 15:17 <a href="http://www.blogjava.net/myjavaBlog/articles/253569.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 图形界面之web浏览器</title><link>http://www.blogjava.net/myjavaBlog/articles/241725.html</link><dc:creator>java人生</dc:creator><author>java人生</author><pubDate>Thu, 20 Nov 2008 09:36:00 GMT</pubDate><guid>http://www.blogjava.net/myjavaBlog/articles/241725.html</guid><wfw:comment>http://www.blogjava.net/myjavaBlog/comments/241725.html</wfw:comment><comments>http://www.blogjava.net/myjavaBlog/articles/241725.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/myjavaBlog/comments/commentRss/241725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/myjavaBlog/services/trackbacks/241725.html</trackback:ping><description><![CDATA[<p dir="ltr" style="margin-right: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近要解决将web浏览器嵌入c/s项目中，所以研究了一下java web browser。从web browser支持css、applet的情况看最好用的当属jdic了。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、<span style="background-color: #ffffff">Swing组件JEditpane&nbsp;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JEditPane 继承自<a title="javax.swing.text 中的类" href="mk:@MSITStore:E:\JDK_API_1_5_zh_CN.CHM::/javax/swing/text/JTextComponent.html">JTextComponent</a>&nbsp;，它主要是显示文本信息。使用JEditPane显示网页时只支持简单的html语言，不能显示css，js和applet&nbsp;&nbsp;&nbsp;<br />
等，而且很多人会发现有时会显示乱码。他只是适用于显示以文字为主的简单html。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、SWT&nbsp; Browser<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SWT显示网页的效果非常好，在新版本的eclipse中就嵌有基于swt的IE浏览器。我以本人也推荐使用swt版的ie，使用很简单。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但是swt开发的web browser最大的缺陷就是无法显示applet（目前我只找到这个缺陷）。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从网上查到的资料中发现很多人都反映swt无法显示applet。我在eclipse3.3中的IE窗口中也试过显示同样的问题。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、jdic<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JDIC支持IE 和Mozilla&nbsp;而且对html中元素支持效果很好applet和css支持最好。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4、其他&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTMLEditorKit,ICEBrowser,WebWindow,WebRenderer,NetClue,Multivalent,JRex,Java Extensible Web Browser,IECanvas,Grand Rapid,Jazilla,NetBeans web browser,Mozilla WebClient,Calyente,HotJava,NetPistuer,WebKit embedded with CocoaComponent ,JDIC Browser ,Flying Saucer,MozSwing ,Native Swing,JWebPane </p>
<img src ="http://www.blogjava.net/myjavaBlog/aggbug/241725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/myjavaBlog/" target="_blank">java人生</a> 2008-11-20 17:36 <a href="http://www.blogjava.net/myjavaBlog/articles/241725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>