网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java操作excel完美解决方案     
  文章作者:未知  文章来源:水木森林  
  查看:51次  录入:管理员--2007-11-17  
 
  只要有表格,就会有microsoft excel,用microsoft excel处理数据已成为不少人的习惯。jakarta poi api就为java程序员提供了一条存取microsoft文档格式的神奇之路,其中最成熟的就是能存取microsoft excel文档的hssf api。
  
  本篇文章就举例示范如何利用java 创建和读取excel文档,并设置单元格的字体和格式。
  
  为了保证示例程序的运行,必须安装java 2 sdk1.4.0 和jakarta poi,jakarta poi的web站点是: http://jakarta.apache.org/poi/
  
  创建excel 文档
  示例1将演示如何利用jakarta poi api 创建excel 文档。
  
  示例1程序如下:
  import org.apache.poi.hssf.usermodel.hssfworkbook;
  import org.apache.poi.hssf.usermodel.hssfsheet;
  import org.apache.poi.hssf.usermodel.hssfrow;
  import org.apache.poi.hssf.usermodel.hssfcell;
  import java.io.fileoutputstream;
  public class createxl {
  
   /** excel 文件要存放的位置,假定在d盘jtest目录下*/
  
   public static string outputfile="d:/jtest/ gongye.xls";
  
   public static void main(string argv[]){
  
   try{
  
    // 创建新的excel 工作簿
  
    hssfworkbook workbook = new hssfworkbook();
  
    // 在excel工作簿中建一工作表,其名为缺省值
        // 如要新建一名为"效益指标"的工作表,其语句为:
        // hssfsheet sheet = workbook.createsheet("效益指标");
  
    hssfsheet sheet = workbook.createsheet();
  
    // 在索引0的位置创建行(最顶端的行)
  
    hssfrow row = sheet.createrow((short)0);
  
    //在索引0的位置创建单元格(左上端)
    hssfcell cell = row.createcell((short) 0);
    // 定义单元格为字符串类型
    cell.setcelltype(hssfcell.cell_type_string);
    // 在单元格中输入一些内容
    cell.setcellvalue("增加值");
    // 新建一输出文件流
    fileoutputstream fout = new fileoutputstream(outputfile);
    // 把相应的excel 工作簿存盘
    workbook.write(fout);
    fout.flush();
    // 操作结束,关闭文件
    fout.close();
    system.out.println("文件生成...");
  
   }catch(exception e) {
    system.out.println("已运行 xlcreate() : " + e );
   }
  }
  }
  
  读取excel文档中的数据
  示例2将演示如何读取excel文档中的数据。假定在d盘jtest目录下有一个文件名为gongye.xls的excel文件。
  
  示例2程序如下:
  
  import org.apache.poi.hssf.usermodel.hssfworkbook;
  import org.apache.poi.hssf.usermodel.hssfsheet;
  import org.apache.poi.hssf.usermodel.hssfrow;
  import org.apache.poi.hssf.usermodel.hssfcell;
  import java.io.fileinputstream;
  public class readxl {
   /** excel文件的存放位置。注意是正斜线*/
   public static string filetoberead="d:/jtest/ gongye.xls";
   public static void main(string argv[]){
   try{
    // 创建对excel工作簿文件的引用
    hssfworkbook workbook = new hssfworkbook(new fileinputstream(filetoberead));
    // 创建对工作表的引用。
    // 本例是按名引用(让我们假定那张表有着缺省名"sheet1")
    hssfsheet sheet = workbook.getsheet("sheet1");
    // 也可用getsheetat(int index)按索引引用,
    // 在excel文档中,第一张工作表的缺省索引是0,
    // 其语句为:hssfsheet sheet = workbook.getsheetat(0);
    // 读取左上端单元
    hssfrow row = sheet.getrow(0);
    hssfcell cell = row.getcell((short)0);
    // 输出单元内容,cell.getstringcellvalue()就是取所在单元的值
    system.out.println("左上端单元是: " + cell.getstringcellvalue());
   }catch(exception e) {
    system.out.println("已运行xlread() : " + e );
   }
  }
  }
  
  设置单元格格式
  在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:
  
  1、创建字体,设置其为红色、粗体:
  hssffont font = workbook.createfont();
  font.setcolor(hssffont.color_red);
  font.setboldweight(hssffont.boldweight_bold);
  
  2、创建格式
  hssfcellstyle cellstyle= workbook.createcellstyle();
  cellstyle.setfont(font);
  
  3、应用格式
  hssfcell cell = row.createcell((short) 0);
  cell.setcellstyle(cellstyle);
  cell.setcelltype(hssfcell.cell_type_string);
  cell.setcellvalue("标题 ");
  
  总之,如本篇文章所演示的一样,java程序员不必担心excel工作表中的数据了,利用jakarta poi api,我们就可以轻易的在程序中存取excel文档。
 
 
上一篇: 使用simpson规则 完成积分运算    下一篇: 不使用function计算给定两个日期之间的工作日个数
  相关文档
使用 java 连接处于proxy(or 防火墙)之外的http服务器 11-17
新手学堂:rs.open与conn.execute详细解释 07-01
java web server2.0 11-17
平台非依赖性建议及使用抽象隔离变化 08-06
基于eclipse开发轻量级spring插件 11-17
防止重载tostring时产生递归调用的方法 11-16
通过Java Swing看透MVC设计模式 08-06
java中有关日期的显示问题 11-16
parseint 方法 11-16
java se 6 新特性: http 增强 11-17
comment 语句 11-16
用mylar进行以任务为中心的编程 11-17
用xml+jsp实现网页内容动态显示的方案 11-16
textstream 对象 11-16
j2se1.4的i/o新特性 11-17
技巧:java垃圾收集器使用小诀窍 11-16
canvas里断行的方法 11-17
j2me游戏开发中时钟的简单实现 11-16
java 3d 动画场景编程简介 11-16
用java制作十六进制编辑器 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息