前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >POI之excel操作(一)

POI之excel操作(一)

作者头像
tanoak
发布2018-06-06 11:53:06
4840
发布2018-06-06 11:53:06
举报
文章被收录于专栏:java闲聊

在实际开发过程中,我们经常需要导出数据,导入数据,无可避免的就要使用到excel,知道它的使用场景就开始我们的第一个Demo

  1. 导入pom依赖
代码语言:javascript
复制
<dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.9</version>
    </dependency>
  1. 包名称说明 POI提供了多种格式的操作,详情请参考官网API传送门 ,本篇只讨论 excel。ps: 操作doc等格式需要导入其他jar包
  • HSSF - 提供读写Microsoft Excel格式档案的功能。
  • HWPF - 提供读写Microsoft Word格式档案的功能。
  • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

写入

ps:本操作实在.xls格式下进行的,请注意

代码语言:javascript
复制
 //创建工作簿
        HSSFWorkbook workbook = new HSSFWorkbook() ;
        //设置保存入径
        String filePath= "D:\\TEST.xls";
        //工作类
        HSSFSheet sheet = workbook.createSheet("tanoak");
        HSSFRow rows =  sheet.createRow(0) ;
        HSSFCell cell = rows.createCell(0);
        cell.setCellValue("张三");
        rows.createCell(1).setCellValue("男");
        rows.createCell(2).setCellValue(28); 

        FileOutputStream fileOutputSteam = new FileOutputStream(filePath);

        workbook.write(fileOutputSteam);
        System.out.println("保存成功");
        fileOutputSteam.close();

读取

代码语言:javascript
复制
String filePath= "D:\\TEST.xls";
        String text="";
        FileInputStream is =  new FileInputStream(filePath);
            HSSFWorkbook excel=new HSSFWorkbook(is);
            //获取第一个sheet
            HSSFSheet sheet0=excel.getSheetAt(0);
            for (Iterator rowIterator = sheet0.iterator(); rowIterator.hasNext();) {
                HSSFRow row=(HSSFRow) rowIterator.next();
                for (Iterator iterator=row.cellIterator();iterator.hasNext();) {
                    HSSFCell cell=(HSSFCell) iterator.next();
                    //根据单元的的类型 读取相应的结果
                    if(cell.getCellType()==HSSFCell.CELL_TYPE_STRING) text+=cell.getStringCellValue()+"\t";
                    else if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC) text+=cell.getNumericCellValue()+"\t";
                    else if(cell.getCellType()==HSSFCell.CELL_TYPE_FORMULA) text+=cell.getCellFormula()+"\t";
                }
            }
        System.out.println(text);

更多操作,可以参考这个网址

下一篇文章将使用EasyPoi 来操作,带你体验操作之美

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.04.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写入
  • 读取
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档