代码备份:
package cn.easyweb.common.poi.eventmode;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.hssf.eventusermodel.HSSFEventFactory;
import org.apache.poi.hssf.eventusermodel.HSSFRequest;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class Test {
public static void main(String[] args) throws Exception{
FileInputStream file = new FileInputStream(ClassLoader.getSystemResource(".").getPath()+"20100416.xls");
POIFSFileSystem poifs = new POIFSFileSystem(file);
InputStream din = poifs.createDocumentInputStream("Workbook");
HSSFRequest request = new HSSFRequest();
request.addListenerForAllRecords(new HxlsAbstract());
HSSFEventFactory factory = new HSSFEventFactory();
factory.processEvents(request, din);
file.close();
din.close();
}
}
record处理类:
package cn.easyweb.common.poi.eventmode;
import org.apache.poi.hssf.eventusermodel.HSSFListener;
import org.apache.poi.hssf.record.BOFRecord;
import org.apache.poi.hssf.record.BoundSheetRecord;
import org.apache.poi.hssf.record.LabelSSTRecord;
import org.apache.poi.hssf.record.NumberRecord;
import org.apache.poi.hssf.record.Record;
import org.apache.poi.hssf.record.RowRecord;
import org.apache.poi.hssf.record.SSTRecord;
public class HxlsAbstract implements HSSFListener{
private SSTRecord sstrec;
public void processRecord(Record record) {
switch (record.getSid())
{
// the BOFRecord can represent either the beginning of a sheet or the workbook
case BOFRecord.sid:
BOFRecord bof = (BOFRecord) record;
if (bof.getType() == bof.TYPE_WORKBOOK)
{
System.out.println("Encountered workbook");
// assigned to the class level member
} else if (bof.getType() == bof.TYPE_WORKSHEET)
{
System.out.println("Encountered sheet reference");
}
break;
case BoundSheetRecord.sid:
BoundSheetRecord bsr = (BoundSheetRecord) record;
System.out.println("New sheet named: " + bsr.getSheetname());
break;
case RowRecord.sid:
RowRecord rowrec = (RowRecord) record;
System.out.println("Row found, first column at "
+ rowrec.getFirstCol() + " last column at " + rowrec.getLastCol());
break;
case NumberRecord.sid:
NumberRecord numrec = (NumberRecord) record;
System.out.println("Cell found with value " + numrec.getValue()
+ " at row " + numrec.getRow() + " and column " + numrec.getColumn());
break;
// SSTRecords store a array of unique strings used in Excel.
case SSTRecord.sid:
sstrec = (SSTRecord) record;
for (int k = 0; k < sstrec.getNumUniqueStrings(); k++)
{
System.out.println("String table value " + k + " = " + sstrec.getString(k));
}
break;
case LabelSSTRecord.sid:
LabelSSTRecord lrec = (LabelSSTRecord) record;
System.out.println("String cell found with value "
+ sstrec.getString(lrec.getSSTIndex()));
break;
}
}
}
分享到:
相关推荐
java poi读取excel主要有两种方式 1,user mode 2,event user mode 第一个将excel一次过读进内存,使用方便,但是占用内存,会出现out of memory的情况。 第二个将会边读取边进行操作,不会一次过读入内存,但是...
3. **样式和格式**:POI允许设置单元格的样式,如字体、颜色、边框、对齐方式等,以增强Excel的可读性。 4. **异常处理**:确保在读写过程中捕获并处理可能出现的IO异常或其他运行时异常。 通过lib.rar和Poi02.rar...
读取Excel的poi包,,读取Excel的poi包,,读取Excel的poi包,读取Excel的poi包读
该工具类是poi基于事件驱动去读取海量excel数据,解决内存溢出以及空单元格的问题。 该压缩包里面有两个文件,TestExcel.java主要是原始的处理方法,操作简单,适合小数据量的读取。 ExampleEventUserModelUtil.java...
因此,Apache POI提供了一种叫做SAX API(Streaming Usermodel API)的低内存占用方式,适用于读取大型Excel文件。与传统的DOM模型不同,SAX API不需要将整个文档加载到内存中,而是逐行进行处理。 以下是一个使用...
poi.jar java读取excel 的 jar包
标题中的“poi读取excel并输出到jsp页面”是指使用Apache POI库来处理Microsoft Excel文件,并将数据在JavaServer Pages (JSP) 页面上显示的技术。Apache POI 是一个开源项目,它允许开发者创建、修改和显示MS ...
java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...
本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,我们需要了解Apache POI的基本概念。POI提供了一组API,允许程序员在Java应用程序中创建、修改和显示这些文件。对于Excel...
使用poi读取写入复杂excel内容包括样式,工具类
在Java编程环境中,如果你需要读取或写入Excel文件,POI 提供了强大的支持。本教程将深入讲解如何使用POI的HSSF组件来处理Excel 97-2003格式的文件(BIFF8格式)。 一、Excel基础 Excel 97 文件格式,也被称作BIFF8...
Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...
本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.apache.poi ...
本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...
在Java编程环境中,Apache POI库是一个非常重要的工具,它允许开发者读取、写入以及修改Microsoft Office格式的文件,包括Excel的.xls和.xlsx格式。标题提到的"poi读取excel文件",指的是使用Apache POI库来处理...
android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel
通过POI3.9驱动模式读取excel2007时,对含有空的单位格处理实现,使用起来很简单了
在Android平台上,使用Apache POI库来读取Excel文件是一种常见的解决方案。Apache POI是一个流行的开源项目,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在这个“android ...
POI读取excel的例子
apache poi 读取 Excel 的 jar 包 博文链接:https://wxinpeng.iteye.com/blog/231895