Poi简单实现Excel的导出导入功能

Poi简单实现Excel的导出导入功能

最近项目用到了有关Excel的导入导出功能,之前也没有使用过,简单的写一下基本用法(小白阶段有写错的还望大神们指教,小弟先谢过了!):

步骤思想

(ps:在使用Poi时首先要导入poi.jar包,相关的jar包可直接度娘有很多,这里就不贴下载地址了,然后下面的例子还导入了Commons项目中用来处理IO的一些工具类包commons-io.jar)

导出Excel:

1.创建一个工作簿workbook;
2.创建一个sheet;
3.创建row
4.为每一行(row)的cell赋值

Example:

String[] title = {"id","name","sex"};
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一个sheet
HSSFSheet sheet = workbook.createSheet("poiExpExcel");
//创建第一行title
HSSFRow row = sheet.createRow(0);
HSSFCell cell = null;
//为title赋值
for (int i = 0; i < title.length; i++) {
    cell = row.createCell(i);
    cell.setCellValue(title[i]);
}
//为content 赋值
for (int i = 1; i < 5; i++) {
    //创建第i行
    HSSFRow row2 = sheet.createRow(i);
    //为第i行的第一列赋值
    HSSFCell cell2 = row2.createCell(0);
    cell2.setCellValue("id"+i);
    //为第i行的第二列赋值
    cell2 = row2.createCell(1);
    cell2.setCellValue("user"+i);
    //为第i行的第三列赋值
    cell2 = row2.createCell(2);
    cell2.setCellValue("男");
}
//创建一个文件
File file = new File("d:/test.xls");
try {
    file.createNewFile();
    //将excel存盘(commons-io.jar)
    FileOutputStream stream = FileUtils.openOutputStream(file);
    workbook.write(stream);
    stream.close();
} catch (Exception e) {
    e.printStackTrace();
}

效果如下:
这里写图片描述


导入Excel步骤:

导入Excel的步骤与导出Excel步骤大致一致,只需要用“Get..”相关方法来一一获取每个Cell的信息即可。

代码如下:

//获取xls文件
File file = new File("d:/test.xls");

try {
    //获取工作簿
    HSSFWorkbook workbook = 
            new HSSFWorkbook(FileUtils.openInputStream(file));
    //获取sheet
    //HSSFSheet sheet = workbook.getSheet("PoiExpExcel");
    //获取工作簿,默认为第一页
    HSSFSheet sheet = workbook.getSheetAt(0);

    int fristRowNum = 0;
    //获取有多上行
    int lastRowNum = sheet.getLastRowNum();

    for (int i = fristRowNum; i <= lastRowNum; i++) {
        //获取第i行
        HSSFRow nextRow = sheet.getRow(i);
        //判断每行有多少列
        int cellNum = nextRow.getLastCellNum();
        for (int j = 0; j < cellNum; j++) {
            //获取第i行第j列的值
            HSSFCell cell = nextRow.getCell(j);
            System.out.print(cell.toString()+"  ");     
        }
        System.out.println();
    }
} catch (IOException e) {
    e.printStackTrace();
}

效果如下:
这里写图片描述


Poi 使用的还不是很熟悉,只会用基本的方法,小白阶段,相关方法还需探究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值