`
zxmzxy
  • 浏览: 19918 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

POI读写EXCEL

阅读更多
    最近一个项目需要生成和读写一堆繁杂的EXCEL表格,处理EXCEL数据。综合网上各大JAVA读写EXCEL的组件,个人觉得Apache的POI用起来算是比较方便的。在此与大家分享一下。
    Aapache POI的下载地址(最新发布的3.5Final版):
    http://poi.apache.org/download.html#POI-3.5-FINAL

    解压ZIP文件,将根目录下的poi-3.5-FINAL-20090928.jar文件引入classpath。
    
     操作EXCEL的几个主要类放在org.apache.poi.hssf.usermodel包下面,以HSSF打头的一些类,如下说明:
     一、HSSFWork类,对应于一个EXCEL文件对象。
     二、HSSFSheet类,对应于一个EXCEL中的sheet对象。
     三、HSSFRow类,对应于一个sheet中的某一行。
     四、HSSFCell类,对应于具体的某行某列。    
     五、POIFSFileSystem类,对应于一个文件对象,该类位于org.apache.poi.poifs.filesystem包下面。在写入单个sheet的文件时我们用不到这个类,但在读取EXCEL和写入多个sheet的文件时,该类是必须的。
     还有其它诸如HSSFHeader,HSSFFooter,HSSFFont等很多类可参见官方文档。就以上的五个类我们可以完成简单的读写EXCEL操作。
     可能这样说的还是很抽象,没关系,我们以下面的两个简单的读写例子来看一下POI是多么的好用(其实POI的功能远大于读写EXCEL,也不止像以下代码中展现的一些微弱功能,更大的功能可参见附包下载的文档)。

// XLSTest.java
package db.export;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class XLSTest {

/**
* read all elements from a excel and print them
*
* @param filepath
* @throws Exception
*             zhanxiao
*/
public static void readXLS(String filepath) throws Exception {
// get the excel file inputstream
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filepath));

// get excel object
HSSFWorkbook book = new HSSFWorkbook(fs);

// get sheet by index,you can use getSheet(String name) to get a desired
// name sheet
HSSFSheet sheet = book.getSheetAt(0);
HSSFRow row;
HSSFCell cell;

// iterator the sheet to get elements
// use getLastRowNum() to get the row count of the sheet
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
// get row by index
row = sheet.getRow(i);

// use getLastCellNum() to get the total column number
// suppose all the elements in the sheet are type of String,so I
// user getStringCellValue()
for (int j = 0; j < row.getLastCellNum(); j++) {
// get cell by index
cell = row.getCell(j);

// if the cell is a null value,the method will throw a
// NullPointerException
System.out.print(cell.getStringCellValue() + "\t");
}
System.out.println("");
}
}

/**
* write xls
*
* @param filepath
* @throws Exception
*             zhanxiao
*/
public static void writeXLS(String filepath) throws Exception {
/*
* the following 8 lines check whether the file is already exist if
* yes,create sheet base the file if no, create a new xls file
*/
File file = new File(filepath);
HSSFWorkbook book;
if (file.exists()) {
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
book = new HSSFWorkbook(fs);
} else {
book = new HSSFWorkbook();
}

// create a sheet with desired name
HSSFSheet sheet = book.createSheet("sheetName");
HSSFRow row;

// write a 10 row,2 column file
for (int i = 0; i < 10; i++) {
row = sheet.createRow(i);
for (int j = 0; j < 2; j++) {
row.createCell(j).setCellValue(
"Row " + i + " ," + " Column " + j);
}
}

// create a outputstream for file writing
FileOutputStream out = new FileOutputStream(filepath);
// write file
book.write(out);

// close outputstream
out.close();
}

public static void main(String[] args) throws Exception {
writeXLS("e:\\test.xls");
readXLS("e:\\test.xls");

}
}

总结:POI的功能完不止这些,具体参考文档。程序也有待提高,请大家指点。
分享到:
评论
1 楼 qiushily2030 2010-08-13  
如何修改单元格内容代码呢?jxl放弃了,来看看poi修改单元格值 不改布局、样式的做法

相关推荐

    poi读写excel

    poi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excel

    利用POI读取excel写入到word

    本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,我们需要了解Apache POI的基本概念。POI提供了一组API,允许程序员在Java应用程序中创建、修改和显示这些文件。对于Excel...

    poi读取excel并输出到jsp页面

    标题中的“poi读取excel并输出到jsp页面”是指使用Apache POI库来处理Microsoft Excel文件,并将数据在JavaServer Pages (JSP) 页面上显示的技术。Apache POI 是一个开源项目,它允许开发者创建、修改和显示MS ...

    android5使用poi读取excel

    android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel

    poi读取excel文件

    标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...

    poi读写excel+poi总结

    读取Excel文件时,首先需要使用POI的FileInputStream打开文件,然后创建与文件类型对应的Workbook实例。之后,通过Workbook获取Sheet,再通过Sheet获取Row和Cell,读取其值。 7. 遍历数据 遍历Excel文件通常需要...

    android POI 读取excel 精简jar

    在Android平台上,使用Apache POI库来读取Excel文件是一种常见的解决方案。Apache POI是一个流行的开源项目,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在这个“android ...

    poi读取excel文件实例(兼容excel2007)

    在“poi读取excel文件实例”中,我们将讨论如何使用Apache POI API来读取和操作Excel 2007文件。以下是一些关键知识点: 1. **创建工作簿对象**:首先,你需要通过`WorkbookFactory`类的`create()`方法打开或创建一...

    POI读取excel的内容.zip

    本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache.poi ...

    poi读取Excel用到的jar包

    标题提到的“poi读取Excel用到的jar包”指的是在Java项目中使用POI库进行Excel操作所需引入的依赖文件。这些jar包在描述中给出,包括了以下几个: 1. poi-ooxml-schemas-3.8-beta5-20111217.jar:这个文件包含了...

    poi 读取excel小实例

    实现了JAVA 窗口,读取EXCEL文件,用poi读取EXCEL内容只是一个小例子

    apache POI 读取 Excel

    apache poi 读取 Excel 的 jar 包 博文链接:https://wxinpeng.iteye.com/blog/231895

    POI读取Excel带格式数据

    本篇将详细讲解如何使用Apache POI读取Excel文件中的带格式数据。 首先,理解Apache POI的基本架构至关重要。POI提供了HSSF(Horrible Spreadsheet Format)用于处理老版本的.xls文件,而XSSF用于处理较新的.xlsx...

    POI生成Excel POI操作Excel POI读取Excel POI类库

    **POI读取Excel** 读取Excel主要涉及以下步骤: 1. **打开Workbook**:通过 FileInputStream 读取Excel文件,然后创建Workbook对象。 2. **获取Sheet**:从Workbook中获取需要的Sheet。 3. **遍历Row和Cell**:...

    POI读写excel文件+poi简单文档

    这个库使得在Java应用程序中创建、修改和读取Excel文件变得非常容易。在这个“POI读写excel文件+poi简单文档”中,我们将深入探讨如何利用Apache POI进行Excel文件的读写操作。 首先,我们需要了解POI的主要组件:...

    poi读取excel2007和2003兼容工具例子

    在这个"poi读取excel2007和2003兼容工具例子"中,我们将探讨如何使用POI来读取不同版本的Excel文件,特别是Excel 2003(.xls)和Excel 2007及更高版本(.xlsx)。 1. **Apache POI库**:Apache POI是Apache软件基金...

    POI读取Excel

    在这个例子中,我们主要关注如何使用POI读取Excel文件。以下是对给定代码的详细解释以及相关知识点: 1. **导入所需的库**: 首先,我们需要导入Apache POI相关的类,如`File`, `FileInputStream`, `IOException`,...

    poi读取excel并校验小例子

    本示例将深入探讨如何使用Apache POI来读取Excel数据,并结合文件系统操作进行特定的校验。 首先,Apache POI提供了一系列接口和类,如`XSSFWorkbook`用于处理.xlsx格式的Excel文件,` XSSFSheet `代表一个工作表,...

    POI读取excel的例子

    POI读取excel的例子

    POI读取Excel合并单元格并储存

    本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...

Global site tag (gtag.js) - Google Analytics