关于POI或者JXL读写EXCEL文件的总结,由浅及深(一)

  在我们平时的工作中,我们经常会遇到读写Excel文档的问题。那么,怎么在java程序中实现读取或者输出一个

Excel文件呢?

我们主要的方式有三种,我只是总结了其中最常用的两种,就是POI和JXL这两种方式来实现。首先我们通过一个图来

了解并对比这两种实现方式。


我会分别总结两种方式基础的用法和结合EasyUI以及Struts2做的一个模板上传下载的案例来总结其用法

今天我为大家展示的是非常基础的JXL读写Excel文件的代码:

1.输出Excel:

package jxi_excel_drdc;

import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

import java.io.File;
import java.io.IOException;

/**
 * Created by 28906 on 2016/8/4.
 */
public class JxlExcelWrite {
    public static  void main(String args[]){
        //创建文件
        File  file = new File("G:/demo.xls");
        //创建表头行
        String[] titles = {"A","B","C"};
        WritableWorkbook wb = null;
        try {
            file.createNewFile();
            //创建工作簿
            wb = Workbook.createWorkbook(file);
            //创建sheet,第一个参数是名字,第二个是索引
            WritableSheet sheet = wb.createSheet("sheet1",0);
            //创建表头,第一个参数是列号,第二个是行号,第三个是值
            Label label = null;
            for(int i=0;i<titles.length;i++){
                label = new Label(i,0,titles[i]);
                sheet.addCell(label);
            }
            //往表里写数据,假定写10行数据
            for(int i=0;i<10;i++){
                label = new Label(0,i,"a"+i);
                sheet.addCell(label);
                label = new Label(1,i,"b"+i);
                sheet.addCell(label);
                label = new Label(2,i,"c"+i);
                sheet.addCell(label);
            }
            //写
            wb.write();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if(wb!=null)
                wb.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

我里面的每一条方法都详细注释了得,请对比API看。

生成的Excel文件如图:


对于读取Excel文件的代码如下:

package jxi_excel_drdc;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

import java.io.File;
import java.io.IOException;

/**
 * Created by huangteng on 2016/8/4.
 */
public class JxlExcelIn {
    /**
     *  JXL解析Excel文件
     * @author huangteng
     */
    public static void main(String args[]){
        Workbook wb = null;
        try {
            //1.创建工作簿
            wb = Workbook.getWorkbook(new File("G:/demo.xls"));
            //2.获取sheet
            Sheet sheet = wb.getSheet(0);
            //3.简单的获取并打印Excel数据
            //sheet.getRows() 获取总的行数  sheet.getColumns() 获取一行的列数
            for(int i = 0;i<sheet.getRows();i++){
                for(int j=0;j<sheet.getColumns();j++){
                    Cell cell = sheet.getCell(j,i);//获取每一个单元格,参数是行和列坐标
                    System.out.print(cell.getContents()+"  ");
                }
                System.out.println();//隔行
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if(wb!=null){
                wb.close();
            }
        }
    }
}


run之后的结果如下:


好的,其实非常简单,只是对API熟悉一下,让大家了解一下用法.

跟着会写POI实现的方法,后边给大家分享一个复杂点的demo,是我们在项目中遇到的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值