一.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等,它把整个结构以一组对象的形式保存在内存之中,便于理解,操作方便,基本上能够满足我们的要求,所以说这个一个不错的选择。
分享到:
相关推荐
Apache POI 是一个强大的开源库,专门用于处理微软的 Office 格式文件,尤其是 Excel。这个库由 Apache 软件基金会维护,其名称源于“Poor Obfuscation Implementation of an Office Interpreter”,但实际上它提供...
在IT行业中,Apache POI是一个广泛使用的库,它允许开发者使用Java来创建、修改和读取Microsoft Office格式的文件,尤其是Excel(XLS和XLSX)文档。本篇文章将详细探讨如何使用Apache POI与SpringBoot、MyBatis以及...
本篇将详细介绍如何利用Apache POI库在Java中创建一个Excel文件的DEMO。 首先,Apache POI是一个开源项目,它为Java程序员提供了API,可以处理Microsoft Office格式的数据,如Word、PowerPoint和Excel。在"java利用...
本篇文章将详细介绍如何使用 POI 来读取 Excel 文件。 1. **安装与引入 POI** 在使用 POI 之前,你需要先将其添加到你的项目依赖中。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...
本篇将深入探讨"Excel POI 工具类",这个工具类旨在简化日常的Excel操作,提升开发效率。 Apache POI 提供了HSSF(Horizontally Stored Sheets Format)和XSSF(XML Spreadsheet Format)两个主要的API,分别用于...
这篇博客“使用POI读写Excel文件(兼容xls与xlsx版本)”深入探讨了如何利用Apache POI库在Java环境中处理Excel文档。 首先,让我们了解一下Apache POI的基本概念。Apache POI提供了一组API,允许开发者创建、修改...
在提供的压缩包文件名称列表中,我们看到的是一些与XML处理相关的JAR文件,这可能是为了支持Apache POI的工作,因为OOXML格式的Excel文件本质上是以XML为基础的。让我们逐一解析这些文件: 1. **xalan-2.7.1.jar**...
Java的Apache POI库是处理Microsoft Office文档的强大工具,尤其在Excel操作方面。它允许开发者在Java应用程序中创建、修改和展示Excel文件。本篇文章将深入探讨如何利用POI进行Excel的各种操作,包括生成Excel、...
3. **poi**: 这个JAR包是Apache POI的基础组件,包含了处理老版本Excel文件(XLS)的HSSF库,同时也提供了一些通用功能,如工作簿、工作表、单元格等的基本操作。 在实际开发中,导入这三个JAR包到你的项目中,你就...
【描述】:这篇文档是关于使用Apache POI库来操作Microsoft Excel文档的详细指南,涵盖了从基础概念到高级特性的各种操作。 【标签】:互联网,cs Apache POI是Java社区中的一个开源项目,主要用于读写Microsoft ...
7. poi-3.17.jar:基础的Apache POI库,用于处理旧版的BIFF格式(.xls)Excel文件。 8. commons-collections4-4.1.jar:Apache Commons Collections库,提供了集合框架的扩展。 要导入数据到Excel,首先需要创建一...
在本篇文章中,我们将深入探讨如何使用POI API创建文件并导出为Excel文档。 首先,我们需要理解Apache POI的基本概念。POI是“Poor Obfuscation Implementation”的缩写,它是一个开放源码的Java API,用于读取、...
本篇文章将深入探讨如何使用Java和Apache POI来实现Excel模板的功能,覆盖了单个传值、单行循环、块循环以及快循环嵌套单行循环等操作。 首先,我们需要导入Apache POI的相关依赖库,如`poi-ooxml`和`poi-ooxml-...
本文将详细介绍如何利用Java编程语言结合JXL和Apache POI库来实现给Excel文档添加动态水印的功能。 #### 技术栈介绍 - **JXL**: 是一个用于读写Excel文件的Java库,支持多种Excel版本,包括.xls格式。 - **Apache ...
本篇文章将详细介绍如何利用POI库来操作Excel,涵盖从基础到高级的使用技巧。 首先,让我们了解POI库的基本概念。Apache POI是Java领域中广泛使用的API,其主要功能是允许开发者创建、修改和读取Microsoft Office...
本篇文章将详细探讨如何使用POI库来读取Excel文件,以及如何处理合并单元格的问题。 首先,我们需要引入Apache POI库到我们的项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
在Java开发中,Apache POI库是一个非常重要的工具,它允许程序员读取、写入和修改Microsoft Office格式的文件,包括Excel。这篇博客"POI Excel导出,我的又一个模板方法"可能详细介绍了如何使用Apache POI库来创建...
本篇文章将详细介绍如何利用 Apache POI 库中的 HSSF 相关类来实现 Excel 的读取操作,并给出示例代码。 #### 二、环境搭建 首先,确保你的开发环境中安装了 Java 开发工具包 (JDK) 并配置好了 Java 开发环境。...