`

POI操作Excel文档-基础篇

阅读更多
一.POI简介

Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API

目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。

二.HSSF概况

HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。 也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。

HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。

三.开始编码

1 . 准备工作

要求:JDK 1.4+POI开发包

可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包

2 . EXCEL 结构

HSSFWorkbook excell 文档对象介绍
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式
在poi1.7中才有以下2项:
HSSFHeader sheet头
HSSFFooter sheet尾
和这个样式
HSSFCellStyle cell样式
辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表

3 .具体用法实例 (采用 usermodel )

如何读Excel

读取Excel文件时,首先生成一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串:
POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));    
HSSFWorkbook  wb = new HSSFWorkbook(fs);    
  } catch (IOException e) {    
  e.printStackTrace();    
  }    
  HSSFSheet sheet = wb.getSheetAt(0);    
  HSSFRow row = sheet.getRow(0);    
  HSSFCell cell = row.getCell((short) 0);    
  String msg = cell.getStringCellValue();   

POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls")); 
HSSFWorkbook  wb = new HSSFWorkbook(fs); 
  } catch (IOException e) { 
  e.printStackTrace(); 
  } 
  HSSFSheet sheet = wb.getSheetAt(0); 
  HSSFRow row = sheet.getRow(0); 
  HSSFCell cell = row.getCell((short) 0); 
  String msg = cell.getStringCellValue(); 


如何写excel,

将excel的第一个表单第一行的第一个单元格的值写成“a test”。

POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));    
  
    HSSFWorkbook wb = new HSSFWorkbook(fs);    
  
    HSSFSheet sheet = wb.getSheetAt(0);    
  
    HSSFRow row = sheet.getRow(0);    
  
    HSSFCell cell = row.getCell((short)0);    
  
    cell.setCellValue("a test");    
  
    // Write the output to a file    
  
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");    
  
    wb.write(fileOut);    
  
fileOut.close();   

POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls")); 

    HSSFWorkbook wb = new HSSFWorkbook(fs); 

    HSSFSheet sheet = wb.getSheetAt(0); 

    HSSFRow row = sheet.getRow(0); 

    HSSFCell cell = row.getCell((short)0); 

    cell.setCellValue("a test"); 

    // Write the output to a file 

    FileOutputStream fileOut = new FileOutputStream("workbook.xls"); 

    wb.write(fileOut); 

fileOut.close(); 

4 . 可参考文档

POI 主页:http://jakarta.apache.org/poi/,

初学者如何快速上手使用POI HSSF

http://jakarta.apache.org/poi/hssf/quick-guide.html 。

代码例子 http://blog.java-cn.com/user1/6749/archives/2005/18347.html


里面有很多例子代码,可以很方便上手。

四.使用心得

POI HSSF 的usermodel包把Excel文件映射成我们熟悉的结构,诸如Workbook、Sheet、Row、Cell等,它把整个结构以一组对象的形式保存在内存之中,便于理解,操作方便,基本上能够满足我们的要求,所以说这个一个不错的选择。
分享到:
评论

相关推荐

    POI操作Excel文档-基础篇.pdf

    Apache POI 是一个强大的开源库,专门用于处理微软的 Office 格式文件,尤其是 Excel。这个库由 Apache 软件基金会维护,其名称源于“Poor Obfuscation Implementation of an Office Interpreter”,但实际上它提供...

    poi操作excel

    在IT行业中,Apache POI是一个广泛使用的库,它允许开发者使用Java来创建、修改和读取Microsoft Office格式的文件,尤其是Excel(XLS和XLSX)文档。本篇文章将详细探讨如何使用Apache POI与SpringBoot、MyBatis以及...

    java利用poi生成excel demo

    本篇将详细介绍如何利用Apache POI库在Java中创建一个Excel文件的DEMO。 首先,Apache POI是一个开源项目,它为Java程序员提供了API,可以处理Microsoft Office格式的数据,如Word、PowerPoint和Excel。在"java利用...

    POI 读取Excel文件

    本篇文章将详细介绍如何使用 POI 来读取 Excel 文件。 1. **安装与引入 POI** 在使用 POI 之前,你需要先将其添加到你的项目依赖中。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...

    Excel POI 工具类

    本篇将深入探讨"Excel POI 工具类",这个工具类旨在简化日常的Excel操作,提升开发效率。 Apache POI 提供了HSSF(Horizontally Stored Sheets Format)和XSSF(XML Spreadsheet Format)两个主要的API,分别用于...

    使用POI读写Excel文件(兼容xls与xlsx版本)

    这篇博客“使用POI读写Excel文件(兼容xls与xlsx版本)”深入探讨了如何利用Apache POI库在Java环境中处理Excel文档。 首先,让我们了解一下Apache POI的基本概念。Apache POI提供了一组API,允许开发者创建、修改...

    poi读取Excel2007文件

    在提供的压缩包文件名称列表中,我们看到的是一些与XML处理相关的JAR文件,这可能是为了支持Apache POI的工作,因为OOXML格式的Excel文件本质上是以XML为基础的。让我们逐一解析这些文件: 1. **xalan-2.7.1.jar**...

    java的POI操作excel

    Java的Apache POI库是处理Microsoft Office文档的强大工具,尤其在Excel操作方面。它允许开发者在Java应用程序中创建、修改和展示Excel文件。本篇文章将深入探讨如何利用POI进行Excel的各种操作,包括生成Excel、...

    poi方式导出excel需要的3个jar包

    3. **poi**: 这个JAR包是Apache POI的基础组件,包含了处理老版本Excel文件(XLS)的HSSF库,同时也提供了一些通用功能,如工作簿、工作表、单元格等的基本操作。 在实际开发中,导入这三个JAR包到你的项目中,你就...

    POI操纵Excel文档总结(未完成版).pdf

    【描述】:这篇文档是关于使用Apache POI库来操作Microsoft Excel文档的详细指南,涵盖了从基础概念到高级特性的各种操作。 【标签】:互联网,cs Apache POI是Java社区中的一个开源项目,主要用于读写Microsoft ...

    Apache POI导入数据到Excel电子表格

    7. poi-3.17.jar:基础的Apache POI库,用于处理旧版的BIFF格式(.xls)Excel文件。 8. commons-collections4-4.1.jar:Apache Commons Collections库,提供了集合框架的扩展。 要导入数据到Excel,首先需要创建一...

    使用poi-api创建文件导出excel文档

    在本篇文章中,我们将深入探讨如何使用POI API创建文件并导出为Excel文档。 首先,我们需要理解Apache POI的基本概念。POI是“Poor Obfuscation Implementation”的缩写,它是一个开放源码的Java API,用于读取、...

    Java使用POI实现excel模板

    本篇文章将深入探讨如何使用Java和Apache POI来实现Excel模板的功能,覆盖了单个传值、单行循环、块循环以及快循环嵌套单行循环等操作。 首先,我们需要导入Apache POI的相关依赖库,如`poi-ooxml`和`poi-ooxml-...

    Java通过POI和JXL给Excel动态添加水印

    本文将详细介绍如何利用Java编程语言结合JXL和Apache POI库来实现给Excel文档添加动态水印的功能。 #### 技术栈介绍 - **JXL**: 是一个用于读写Excel文件的Java库,支持多种Excel版本,包括.xls格式。 - **Apache ...

    Excel-Java库POI.rar

    本篇文章将详细介绍如何利用POI库来操作Excel,涵盖从基础到高级的使用技巧。 首先,让我们了解POI库的基本概念。Apache POI是Java领域中广泛使用的API,其主要功能是允许开发者创建、修改和读取Microsoft Office...

    Java使用POI读取Excel

    本篇文章将详细探讨如何使用POI库来读取Excel文件,以及如何处理合并单元格的问题。 首先,我们需要引入Apache POI库到我们的项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...

    POI Excel导出,我的又一个模板方法

    在Java开发中,Apache POI库是一个非常重要的工具,它允许程序员读取、写入和修改Microsoft Office格式的文件,包括Excel。这篇博客"POI Excel导出,我的又一个模板方法"可能详细介绍了如何使用Apache POI库来创建...

    poi的控制,poi导出excel详细介绍,有代码

    本篇文章将详细介绍如何利用 Apache POI 库中的 HSSF 相关类来实现 Excel 的读取操作,并给出示例代码。 #### 二、环境搭建 首先,确保你的开发环境中安装了 Java 开发工具包 (JDK) 并配置好了 Java 开发环境。...

Global site tag (gtag.js) - Google Analytics