• java操作Excel的一种方法 _ Java认证 _ 考试大
  • 发布时间:2012-10-26 17:03 | 作者: | 来源: | 浏览:
  •     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

  • 收藏 | 打印
  • 相关内容