java操作excel表格

最近需要在程序中用到存储excel和打印等功能,不免涉及到对excel的操作。给大家简单的介绍下jxl这个开源的接口的用法,这样在web和se的环境中都可以方便的使用,并且不受浏览器和运行环境的限制,在linux环境下也能正常运行。

闲话不多说,直接看案例:

 public void writeExcel(){
        try {
            // 打开文件
            WritableWorkbook book = Workbook.createWorkbook(new File(
                    " test.xls "));
            WritableSheet sheet = book.createSheet(" 第一页 ", 0);
            Label [] label = new Label[5];
            Number [] number = new Number[5]; 
            for(int i =0;i<5;i++){
                //Label(i, 0, "字段"+i);中的第一个参数代表的是column,第二个代表的是row,第三个代表的是写入的内容
                label[i] = new Label(i, 0, "字段"+i);
                number[i] = new Number(i, 1, i);
                // 按照指定的位置将数据加入excel表格中
                sheet.addCell(label[i]); 
                sheet.addCell(number[i]);
            }
            // 写入数据并关闭文件
            book.write();
            book.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }

这是我们读取的步骤,大致上是:

1.创建WritableWorkbook对象创建到我们机器存储空间中的一张可编辑excel文件

2.大家都知道一个xls中是可以有很多表格的  WritableSheet sheet = book.createSheet(" 第一页 ", 0); 是建立一张新的工作表  0 表示该表在文件中的位置

3. 通过sheet.addCell();方法我们就能向表中加入元素,这个元素的属性重点在于其在表中的位置 第一个参数指的是列,第二个是行,如  Cell cell = new Clee( int column,int row,content);

4. 使用book.write();写入文件实现持久化,然后使用 book.close();关闭即可。

关于读取本地的xls文件Demo:

 

public void readExcel(){
         try   {
             Workbook book  =  Workbook.getWorkbook( new  File( " test.xls " ));
              // 获取xls文件中的表对象    getSheet()中的参数0表示第一张表   也可根据表的名字  字符串 获得表对象
             Sheet sheet  =  book.getSheet( 0 );
              // sheet.getCell( 1 ,  0 );中的第一个参数表示column第二个表示row
             for(int i =0;i<sheet.getColumns();i++){//sheet.getColumns 返回当前选择表的总列数的数值
                 Cell cell1  =  sheet.getCell( i ,  1 );
                 String result  =  cell1.getContents();
                 System.out.println(result);
             }
             book.close();
         }   catch  (Exception e)  {
             System.out.println(e);
         }
    }

 

这样就实现了我们程序对excel的操作。至于web环境中我们想要获得jsp页面中的数据然后存入表格的话只需要在我们的action中使用这种操作即可。至于页面之间传递参数相信大家都会吧。

下面附上jxl的官方API:点击查看

 

posted @ 2013-06-30 13:48  张宇鹏  阅读(813)  评论(0编辑  收藏  举报