`
winnernoom
  • 浏览: 1559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

POI入门总结

阅读更多

最近用了一下读取XLS文件的中间件POI,简单在网络上找了一些资料发现非常多,加上我自己的应用这里总结一下者:文虹,欢迎来到我的博客http://winnernoom.iteye.com/

poi,与jxl一样都可以实现java操作excel文件

HSSF对Excel的操作主要是通过下面几个对象实现:
HSSFWorkbook    工作簿对象对应于Excel文件
HSSFSheet       Sheet对象对应于Excel中的Sheet
HSSFRow         行对象表示Sheet中的一行(这个对象在JXL中并没有提供)
HSSFCell        单元格对象


基本步骤:

通过Poi操作Excel十分方便,将一个Excel抽象为一个Workbook,一个表单页抽象为Sheet,表单中的一行抽象为Row,一行中的一个单元格可以抽象为Cell。HSSF对应的是97-03格式(.xls),XSSF对应的是07格式的(.xlsx)。

      Workbook的获取有以下几种方式:

      1.可以通过WorkbookFactory,工厂方法

         Workbook wb=WorkbookFactory.create(new FileInputStream(file));//可以读取xls格式或xlsx格式。

      2.直接通过HSSFWorkbook或XSSFWorkbook的构造方法

         Workbook wb=new HSSFWorkbook();//生成一个空的Excel文件

         Workbook wb=new HSSFWorkbook(new FileInputStream(file));//读取一个已经存在的Excel文件

      Sheet可由Workbook创建和得到

         Sheet s=wb.createSheet(sheet);//创建一个名为sheet的表单

         HSSFSheet sheet = wb.getSheetAt(0);//得到第一个seet表单,也可以通过表单名字得到

      Row由Sheet创建和得到

         Row r=s.createRow(row);//新创建一行,行号为row+1

         HSSFRow row = sheet.getRow(n);//得到一行,从0开始

      Cell有Row创建和得到

         Cell c=r.createCell(col);//创建一个单元格,列号为col+1

         row.getCell(n)// 得到一个单元格,从0开始

      最后就可以通过c.setCellValue(value)向单元格填充内容即可

 

单元格可以是各种类型,类型如下

static int CELL_TYPE_BLANK            Blank Cell type (3)
static int CELL_TYPE_BOOLEAN           Boolean Cell type (4)
static int CELL_TYPE_ERROR           Error Cell type (5)
static int CELL_TYPE_FORMULA           Formula Cell type (2)
static int CELL_TYPE_NUMERIC           Numeric Cell type (0)
static int CELL_TYPE_STRING           String Cell type (1)


例子:如下代码是得到指定的XLS文件中第一个sheet的第一个列数据,要求数据类型是文本类型。

 


 public  List<String> readExcel(String path) throws Exception {
  List<String> list = new ArrayList<String>();
 

 try {
   FileInputStream fis = new FileInputStream(path);   
   HSSFWorkbook wb = new HSSFWorkbook(fis);


//   int sheetCount = wb.getNumberOfSheets();//得到有个sheet
 
   HSSFSheet sheet = wb.getSheetAt(0);//得到一个sheet
  
   for (int i = 0; i < sheet.getLastRowNum(); i++) {
   
    HSSFRow row = sheet.getRow(i);
   
    if(row.getCell(0).getCellType()==1){//表示文本类型
    
    list.add(row.getCell(0).getRichStringCellValue().toString());
    
    }else if(row.getCell(0).getCellType()!=3){
     throw new Exception("电子表格中存储的不是文本格式,请修改电子表格中的格式");
    }
   
                   
   }
  
  } catch (FileNotFoundException e) {
   e.printStackTrace();
    } catch (IOException e) {
   e.printStackTrace();
    }
    return list;

}

作者:文虹,欢迎来到我的博客http://winnernoom.iteye.com/

分享到:
评论

相关推荐

    POI入门教程.pdf

    ### POI入门教程知识点概述 #### 一、POI简介及背景 - **POI**是Apache Jakarta项目的一个子项目,旨在为Java开发者提供一种高效、便捷的方式来读写Microsoft Office格式文件,特别是Excel (`.xls` 和 `.xlsx`) ...

    POI入门教程文档

    ### POI入门教程知识点概述 #### 一、Excel基础 - **Excel文件结构**:Excel文件内部由工作簿(Workbook)组成,每个工作簿可以包含一个或多个工作表(Sheet)。工作表由行(Row)和列(Column)构成,其中的每一个...

    ApachePOI入门级读写操作

    在"Apache POI入门级读写操作"中,我们将深入探讨如何使用这个库来执行基本的Excel文件(XLS和XLSX)的读写任务。 首先,我们来看POI工程的两个关键组件: 1. **HSSF (Horrible Spreadsheet Format)**:这是Apache...

    POI实战 .pdf

    1.POI入门 4 1.1 Excel基本知识 4 1.2 POI基本类 5 1.3 POI简单读取Excel数据 5 1.4 POI简单写出Excel 9 2.复杂读取 16 2.1 单元格各类型数据读取 16 2.1.1 基本类型 16 2.1.2 日期类型 18 2.2 自定义类型 21 3....

    poi 操作excel 入门

    Apache POI是一个流行的Java库,...总结来说,Apache POI提供了一套强大的工具,使Java开发者能够在程序中轻松处理Excel文件。通过学习和实践,你可以利用它来自动化数据处理、报表生成等多种任务,大大提升工作效率。

    poi的maven项目代码

    总结来说,这个项目提供了一个基础的模板,演示了如何利用Apache POI和Maven来处理Excel文件,特别是将Java对象的数据写入Excel。对于Java开发者来说,熟悉这样的项目有助于提高处理Excel文件的能力,从而在数据分析...

    poi详解并且是入门级

    ### Apache POI 入门详解 #### 一、Apache POI 概述 Apache POI 是 Apache Jakarta 项目的一个子项目,它为开发者提供了利用 Java 语言读取和写入 Microsoft Office 格式文件的功能。POI 包含了多个模块,其中最为...

    poi使用说明

    POI_3.8_API.CHM; POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf; poi-bin-3.9-20121203.zip; poi使用总结.txt; POI整理.doc;

    POI实战-java开发excel详解

    POI入门 ##### 1.1 Excel基本知识 在Java开发中,处理Excel文件是一项常见的任务。理解Excel的基本结构是使用Apache POI库进行开发的基础。 - **Excel文件结构**:一个Excel文件由多个工作表(sheet)组成,每个...

    apache poi export

    3. **POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf**:这是一个详细教程,适合初学者学习。它将教你如何创建一个新的Excel工作簿,添加工作表,插入数据,设置样式,以及如何读取和修改已有Excel文件。 4. **poi...

    poi_xiaobai.rar

    在标题“poi_xiaobai.rar”中,我们可以推测这可能是一个关于Apache POI的入门或初级教程的压缩包,可能包含了相关的代码示例、教程文档或者教学视频。"poi-Jar包"的标签进一步确认了这个压缩包与Apache POI的Java库...

    JAVA中的POI操作EXCEL,包含了POI用的几个JAR包 和学习源代码

    总结来说,这个资料包提供了使用Java POI操作Excel所需的基本库和学习资源,无论是新手还是有一定经验的开发者,都能从中受益,提高处理Excel文件的能力。通过实践和研究提供的代码,你可以深入理解POI API的用法,...

    POI 实战开发-java开发

    总结,Apache POI 是 Java 开发者处理 Excel 文件的强大工具,通过熟练掌握其 API,我们可以实现从简单的数据读写到复杂的格式设置和公式计算等多种功能,极大地扩展了 Java 在办公自动化领域的应用。

    JAVA_POI读取操作EXCEL教程.pdf

    ### JAVA POI 读取操作EXCEL教程 #### 一、概述 `Java_Poi`是一款功能强大的开源库,主要用于处理Microsoft Excel文件。...本教程仅为入门级别,读者还可以根据自己的需求深入学习更多高级功能。

    (java入门)用apache.poj读写Excel文件的例子(1)

    这篇“(java入门)用apache.poi读写Excel文件的例子(1)”很可能是引导初学者如何利用Apache POI进行Excel操作的文章。Apache POI提供了API,使得在Java中创建、修改和读取Excel文件变得简单易行。 首先,让我们...

    最全最实用的Java操作Excel教程

    #### 总结 通过本文档,你已经了解了如何使用POI的HSSF API来进行基本的Excel操作,包括读取和写入数据。POI提供了强大的功能和灵活性,使得Java开发人员能够轻松地集成Excel操作到他们的应用程序中。无论是简单的...

    EasyPOI操作Excel从零入门-视频课程资源网盘链接提取码下载 .txt

    ### EasyPOI操作Excel从零入门 #### 一、EasyPOI简介 在日常的软件开发工作中,处理Excel文件是一项常见的需求。无论是数据导入还是导出,都需要与Excel打交道。Java社区提供了多种处理Excel的方式,其中Apache ...

    excel的上传或下载

    2. [POI HSSF快速入门指南](http://jakarta.apache.org/poi/hssf/quick-guide.html) 3. [博客文章](http://blog.java-cn.com/user1/6749/archives/2005/18347.html) #### 七、总结 通过本文的学习,我们了解了如何...

    导出Excel技术分享

    总结来说,导出Excel技术是提升数据处理效率的关键手段,通过Apache POI和EasyExcel等工具,我们可以有效地从各种数据源导入数据,创建和管理Excel文件,同时实现数据的快速分析和呈现。在实际工作中,掌握这些技术...

Global site tag (gtag.js) - Google Analytics