java操作Excel的一种方法

来源:java认证发布时间:2012-11-12 13:12:55java认证视频

    MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。
   
    在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI.其中jExcelAPI是一个韩国程序员的作品,虽然没有POI那样血统高贵,但是在笔者的使用过程中,感觉简单方便,对中文支持非常好,功能也比较强大。它的下载地址是:http://www.andykhan.com/jexcelapi/ 当前的最高版本是2.4.作者的网站上对它的特征有如下描述:
   
    ● 支持Excel 95-2000的所有版本
   
    ● 生成Excel 2000标准格式
   
    ● 支持字体、数字、日期操作
   
    ● 能够修饰单元格属性
   
    ● 支持图像和图表
   
    应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。
   
    搭建环境
   
    将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。
   
    基本操作
   
    一、创建文件
   
    拟生成一个名为"测试数据。xls"的Excel文件,其中第一个工作表被命名为"第一页",大致效果如下:
   
    代码(CreateXLS.java):
   
    //生成Excel的类
   
    import java.io.*;
   
    import jxl.*;
   
    import jxl.write.*;
   
    public class CreateXLS
   
    {
   
    public static void main(String args[])
   
    {
   
    try
   
    {
   
    //打开文件
   
    WritableWorkbook book=
   
    Workbook.createWorkbook(new File("测试。xls"));
   
    //生成名为"第一页"的工作表,参数0表示这是第一页
   
    WritableSheet sheet=book.createSheet("第一页",0);
   
    //在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
   
    //以及单元格内容为test
   
    Label label=new Label(0,0,"test");
   
    //将定义好的单元格添加到工作表中
   
    sheet.addCell(label);
   
    /*生成一个保存数字的单元格
   
    必须使用Number的完整包路径,否则有语法歧义
   
    单元格位置是第二列,第一行,值为789.123*/
   
    jxl.write.Number number = new jxl.write.Number(1,0,789.123);
   
    sheet.addCell(number);
   
    //写入数据并关闭文件
   
    book.write();
   
    book.close();
   
    }catch(Exception e)
   
    {
   
    System.out.println(e);
   
    }
   
    }
   
    }
   
    编译执行后,会在当前位置产生一个Excel文件。
   
    三、读取文件
   
    以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:
   
    //读取Excel的类
   
    import java.io.*;
   
    import jxl.*;
   
    public class ReadXLS
   
    {
   
    public static void main(String args[])
   
    {
   
    try
   
    {
   
    Workbook book=
   
    Workbook.getWorkbook(new File("测试。xls"));
   
    //获得第一个工作表对象
   
    Sheet sheet=book.getSheet(0);
   
    //得到第一列第一行的单元格
   
    Cell cell1=sheet.getCell(0,0);
   
    String result=cell1.getContents();
   
    System.out.println(result);
   
    book.close();
   
    }catch(Exception e)
   
    {
   
    System.out.println(e);

 考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

 编辑特别推荐:

 Java读取文件内容再编辑

 JS获取单选与多选按纽的值

 每一种文件类型所对应的ContentType

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答