`
天空之城
  • 浏览: 404813 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用Jakarta 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文件写入的消息字串:
Java代码
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”。

Java代码
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等,它把整个结构以一组对象的形式保存在内存之中,便于理解,操作方便,基本上能够满足我们的要求,所以说这个一个不错的选择。
分享到:
评论

相关推荐

    java操作Excel(Jakarta_POI)

    1. **内存消耗**:`Jakarta POI`在处理大型Excel文件时可能会占用较多内存,因此对于大数据量的操作需要特别注意。 2. **版本兼容性**:不同版本的Excel文件可能存在格式上的差异,使用`Jakarta POI`时要注意选择...

    poi excel poi excel poi excel

    为了使用 POI 操作 Excel 文件,首先需要准备以下环境: 1. **JDK 版本**:至少需要 JDK 1.4 或更高版本。 2. **POI 库**:下载 POI 库,可以从 Apache 官方网站获取:...

    java的POI操作Excel文件

    我碰到的主要的问题就是对公式支持不是很好,很多带有公式的Excel文件用JXL打开后,公式就丢失了(比如now(),today()),在网上看到其他大虾评论说JXL写入公式也有问题,另外,JXL操作Excel文件的效率比POI低一点。...

    Jakarta POI 3.0

    1. poi-3.0-rc4-20070503.jar:这是主库文件,包含了核心的POI API,包括HSSF、XSSF、HWPF和HSLF,以及一些基础的工具和类,用于处理Office文档的各种操作。 2. poi-scratchpad-3.0-rc4-20070503.jar:这是一个实验...

    java的POI操作Excel文件.pdf

    总之,Java的Apache POI库为开发者提供了一个强大且灵活的工具,用于在服务器端生成Excel文件,满足了企业级应用中常见的报表和数据导出需求。通过利用HSSF接口,开发者可以创建复杂的Excel格式,同时保持代码的可...

    java的POI操作Excel文件.docx

    【标题】:Java的POI操作Excel文件 【描述】:在企业级开发中,有时我们需要处理Excel文件,例如根据客户需求生成报表或者读取数据。Java的POI库提供了这样的功能,它允许开发者在Java环境中操作Microsoft Office的...

    poi生成excel实例

    5. "Jakarta的POI项目操作Excel文件的方便的途径.htm":Jakarta POI是Apache POI的早期版本,这个文件可能介绍了早期版本的使用方法。 6. "利用Java 创建和读取Excel文档.htm":基础教程,涵盖了基本的创建和读取...

    java操作Excel(Jakarta_POI).pdf

    总结来说,Jakarta POI的HSSF模块是Java开发者处理Excel文件的强大工具,它提供了丰富的API,能够创建复杂的Excel文档并读取现有文件,同时具备良好的Unicode支持和社区维护,确保了其在多语言环境下的稳定性和兼容...

    POI操作Excel文档,帮助文档

    为了使用 POI 操作 Excel 文件,你需要具备以下条件: - **Java 开发环境**:确保已安装 JDK 1.4 或更高版本。 - **POI 开发包**:从官方地址 [http://www.apache.org/dyn/closer.cgi/jakarta/poi/]...

    poi excel 模板读取并导出带公式的excel文档

    利用Apache POI库能够实现这一功能,即可以通过Java程序操作Excel文件,包括读取、写入、以及处理Excel中的公式。 #### 二、关键技术点 1. **POI库简介**: - Apache POI是Apache软件基金会的Jakarta项目中的一个...

    使用POI来处理Excel和Word文件格式

    使用POI处理Excel文件时,你可以创建一个新的Workbook对象,然后添加Sheet,再在Sheet中创建Row和Cell。你可以填充数据,设置样式,应用公式,并保存为Excel文件。对于读取Excel文件,POI提供了相应的API来打开...

    POI操作Excel----------(转人家的)

    以下是一个使用POI创建新Excel文件的简单示例: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; public class NewWorkbook { ...

    java开发Excel所需 poi jxl两种jar包

    JXL则是另一个广泛使用的Java库,它专注于处理Excel文件,但相比于POI,它的功能相对较少,不支持最新的.xlsx格式。JXL主要支持.xls文件,提供了读取、创建和修改Excel文件的基本功能,如读取单元格值、设置单元格...

    java读取excel poi 方法

    **Jakarta POI HSSF** 是 Apache POI 项目中的一个子项目,它专注于使用纯 Java 实现对 Microsoft Excel (.xls) 文件的操作。在实际的开发过程中,特别是在企业级应用中,经常会遇到需要导出数据到 Excel 或者从 ...

Global site tag (gtag.js) - Google Analytics