﻿<?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-我的java历程-随笔分类-J2SE</title><link>http://www.blogjava.net/phe441/category/17665.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 08:43:36 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 08:43:36 GMT</pubDate><ttl>60</ttl><item><title>利用java操作excel文件</title><link>http://www.blogjava.net/phe441/archive/2006/12/12/87326.html</link><dc:creator>landril</dc:creator><author>landril</author><pubDate>Tue, 12 Dec 2006 11:07:00 GMT</pubDate><guid>http://www.blogjava.net/phe441/archive/2006/12/12/87326.html</guid><wfw:comment>http://www.blogjava.net/phe441/comments/87326.html</wfw:comment><comments>http://www.blogjava.net/phe441/archive/2006/12/12/87326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/phe441/comments/commentRss/87326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/phe441/services/trackbacks/87326.html</trackback:ping><description><![CDATA[
		<p>利用java操作excel文件<br /><br />Java Excel是一开放源码项目，通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的，所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。<br /><br /> /**<br />  * 从excel表格中读出数据<br />  * @param sourcefile<br />  * @return<br />  */<br /> public List&lt;WaterPrice&gt; readExcel(String sourcefile) {</p>
		<p>  Workbook rwb = null;<br />  List&lt;WaterPrice&gt; waterPrices = new ArrayList&lt;WaterPrice&gt;();<br />  try {<br />   // 直接从本地文件创建Workbook(工作簿)<br />   InputStream is = new FileInputStream(sourcefile);<br />   rwb = Workbook.getWorkbook(is);<br />   // 获取第一张Sheet表(工作表，以0为下标开始)<br />   Sheet rs = rwb.getSheet(0);</p>
		<p>   for (int i = 3; i &lt; 28; i++) {<br />    String managerDepartment = rs.getCell(0, i).getContents();<br />    if (managerDepartment != null<br />      &amp;&amp; managerDepartment.trim().length() &gt; 0) {<br />     BigDecimal wPrice = new BigDecimal(rs.getCell(1, i)<br />       .getContents());<br />     BigDecimal sewagePrice = new BigDecimal(rs.getCell(2, i)<br />       .getContents());<br />     String remark = rs.getCell(3, i).getContents();</p>
		<p>     WaterPrice waterPrice = new WaterPrice();<br />     waterPrice.setManagerDepartment(managerDepartment);<br />     waterPrice.setWaterPrice(wPrice);<br />     waterPrice.setSewagePrice(sewagePrice);<br />     waterPrice.setRemark(remark);<br />     waterPrices.add(waterPrice);<br />    }<br />   }<br />  } catch (FileNotFoundException e) {<br />   e.printStackTrace();<br />  } catch (BiffException e) {<br />   e.printStackTrace();<br />  } catch (IOException e) {<br />   e.printStackTrace();<br />  }<br />  return waterPrices;</p>
		<p> }</p>
		<p> /**<br />  * 将数据写入excel表格中<br />  * @param targetfile<br />  */<br /> public void writeExcel(String targetfile) {</p>
		<p>  WritableWorkbook wwb = null;<br />  try {<br />   // 创建可写入的Excel工作薄<br />   OutputStream os = new FileOutputStream(targetfile);<br />   wwb = Workbook.createWorkbook(os);<br />   // 创建Excel工作表<br />   WritableSheet ws = wwb.createSheet("水价管理", 0);</p>
		<p>   for (int i = 8; i &lt; 28; i++) {<br />    Label managerDepartment = new Label(0, i, "管理部门" + i);<br />    ws.addCell(managerDepartment);<br />    Number waterPrice = new Number(1, i, 555);<br />    ws.addCell(waterPrice);<br />    Number sewagePrice = new Number(2, i, 6);<br />    ws.addCell(sewagePrice);<br />    Label remark = new Label(3, i, "备注" + i);<br />    ws.addCell(remark);<br />   }<br />  } catch (FileNotFoundException e) {<br />   e.printStackTrace();<br />  } catch (IOException e) {<br />   e.printStackTrace();<br />  } catch (RowsExceededException e) {<br />   e.printStackTrace();<br />  } catch (WriteException e) {<br />   e.printStackTrace();<br />  } finally {<br />   try {<br />    // 记得一定要写这两句哦,写入Exel工作表,关闭Excel工作薄对象<br />    wwb.write();<br />    wwb.close();<br />   } catch (IOException e) {<br />    e.printStackTrace();<br />   } catch (WriteException e) {<br />    e.printStackTrace();<br />   }</p>
		<p>  }</p>
		<p> }<br /><br />java excel api 下载地址：<br /><a href="http://sourceforge.net/project/showfiles.php?group_id=79926">http://sourceforge.net/project/showfiles.php?group_id=79926</a></p>
		<p>java excel api 参考学习地址：<br /><a href="http://www-128.ibm.com/developerworks/cn/java/l-javaExcel/">http://www-128.ibm.com/developerworks/cn/java/l-javaExcel/</a></p>
<img src ="http://www.blogjava.net/phe441/aggbug/87326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/phe441/" target="_blank">landril</a> 2006-12-12 19:07 <a href="http://www.blogjava.net/phe441/archive/2006/12/12/87326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>采用JDBC进行数据库分页查询</title><link>http://www.blogjava.net/phe441/archive/2006/12/11/87042.html</link><dc:creator>landril</dc:creator><author>landril</author><pubDate>Mon, 11 Dec 2006 12:21:00 GMT</pubDate><guid>http://www.blogjava.net/phe441/archive/2006/12/11/87042.html</guid><wfw:comment>http://www.blogjava.net/phe441/comments/87042.html</wfw:comment><comments>http://www.blogjava.net/phe441/archive/2006/12/11/87042.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/phe441/comments/commentRss/87042.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/phe441/services/trackbacks/87042.html</trackback:ping><description><![CDATA[采用JDBC进行数据库分页查询<br /><br /> /**<br />  * 一次只从数据库中查询最大maxCount条记录<br />  * @param sql 传入的sql语句<br />  * @param startNo 从哪一条记录开始<br />  * @param maxCount 总共取多少条记录<br />  */<br /> public void getData(String sql,int startNo,int maxCount){<br />  Connection conn = ConnectionUtil.getConnection();<br />  try {<br />//   conn.prepareStatement(sql,游标类型,能否更新记录);<br />//      游标类型：<br />//       ResultSet.TYPE_FORWORD_ONLY:只进游标<br />//       ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他用户对数据库更改的影响。<br />//       ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他用户更改数据库时这个记录也会改变。<br />//      能否更新记录：<br />//       ResultSet.CONCUR_READ_ONLY,只读<br />//       ResultSet.CONCUR_UPDATABLE,可更新<br />   PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);<br />   //最大查询到第几条记录<br />   pstat.setMaxRows(startNo+maxCount-1);<br />   ResultSet rs = pstat.executeQuery();<br />   //将游标移动到第一条记录<br />   rs.first();<br />//   游标移动到要输出的第一条记录<br />   rs.relative(startNo-2);<br />   while(rs.next())<br />    System.out.println(rs.getInt(1));<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br /> }<br /> <br /> /**<br />  * 从数据库中查询所有记录，然后通过游标来获取所需maxCount条记录<br />  * @param sql 传入的sql语句<br />  * @param startNo 从哪一条记录开始<br />  * @param maxCount 总共取多少条记录<br />  */<br /> public void getDataFromAll(String sql,int startNo,int maxCount){<br />  Connection conn = ConnectionUtil.getConnection();<br />  try {<br />   PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);<br />   ResultSet rs = pstat.executeQuery();<br />   rs.first();<br />   rs.relative(startNo-1);<br />   int i = startNo-1;<br />   while(i &lt; startNo + maxCount-1 &amp;&amp; !rs.isAfterLast()){<br />    System.out.println(rs.getInt(1));<br />    i++;<br />    rs.next();<br />   }<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br /> }<img src ="http://www.blogjava.net/phe441/aggbug/87042.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/phe441/" target="_blank">landril</a> 2006-12-11 20:21 <a href="http://www.blogjava.net/phe441/archive/2006/12/11/87042.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>