first: poi 3.14 要求jdk1.6 或以上
jar包去apache下载就可以了.
另外,要完整运行需要xmlbeans 的jar包, 我下的是 xmlbeans-2.6.0.jar
附件里有 项目所用jar包,测试用的excel,及该项目
项目总共需要3个jar包,除jdk外:
1 poi-3.14-xxxx.jar
2 xmlbeans-2.6.jar
3 poi-ooxml-3.14-xxx.jar
代码如下:
/** * */ package helloWorld.com.cpic; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import org.apache.poi.EncryptedDocumentException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; /** * poi读excel文件内容 * @author c_liuhaibin * @version 2016年6月16日 */ public class ReadSXLSFile { public static void main(String[] x) throws EncryptedDocumentException, InvalidFormatException, IOException { String fullFileName ="G:/360data/重要数据/桌面/aaa.xls"; //"G:/360data/重要数据/桌面/aaa.xlsx"; ReadSXLSFile x1 = new ReadSXLSFile(); List<List> list=x1.readFile(fullFileName); for (List inlist : list) { for (Object object : inlist) { System.out.println(object.toString()); } } } /** * read excel file * @param file Ful Name:include file path * @return list * @throws EncryptedDocumentException * @throws InvalidFormatException * @throws IOException */ public List<List> readFile(String fileName) throws EncryptedDocumentException, InvalidFormatException, IOException { //官网说这种方式可以兼容两种格式的excel,03 and 07 的. List<List> list = new ArrayList<List>(); Workbook workbook = WorkbookFactory.create(new File(fileName)); List<Object> inList = null; for (Sheet sheet : workbook) { System.out.println("sheetName:" + sheet.getSheetName()); for (Row row : sheet) { inList = new ArrayList<Object>(); for (Cell cell : row) { switch (cell.getCellType()) { // 字符串 case Cell.CELL_TYPE_STRING: System.out.print("字符串:"+cell.getRichStringCellValue().getString()); //? or getStringCellValue? inList.add(cell.getRichStringCellValue()); break; case Cell.CELL_TYPE_NUMERIC: // 日期 if (DateUtil.isCellDateFormatted(cell)) { inList.add(cell.getDateCellValue()); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd"); System.out.print("日期:"+sdf.format(cell.getDateCellValue())); } // 数字 else { inList.add(cell.getNumericCellValue()); System.out.print("数字:"+cell.getNumericCellValue()); } break; // 布尔 case Cell.CELL_TYPE_BOOLEAN: inList.add(cell.getBooleanCellValue()); System.out.print("布尔:"+cell.getBooleanCellValue()); break; // 公式 case Cell.CELL_TYPE_FORMULA: inList.add(cell.getCellFormula()); System.out.print("公式:"+cell.getCellFormula()); break; default: System.out.print("error "); } } System.out.println(); list.add(inList); } } return list; } }
只写写helloWorld 当然没问题了,不过还有两个问题,希望高人出来指点一下:
1 cell.getRichStringCellValue() 跟 getStringCellValue 有啥区别?
2 为什么我测试用的excel的日期类型总是以数字格式读出来的?
相关推荐
这个"poi3.14jar包"是Apache POI的3.14版本,是一个Java库,允许开发者在Java应用程序中创建、读取和修改Microsoft Office格式的文件。在Java开发中,Apache POI常用于数据分析、自动化测试和数据导入导出等场景。 ...
1. **Excel处理**:POI的HSSF和XSSF模块分别用于处理旧版的BIFF8(.xls)格式和较新的OOXML(.xlsx)格式的Excel文件。开发者可以创建工作簿、工作表、单元格、公式等,并进行数据填充、样式设置、图表创建等操作。 ...
POI提供了HSSF(Horrible Spreadsheet Format)用于处理老版本的XLS格式,而XSSF(XML Spreadsheet Format)则用于处理XLSX格式。这个版本还可能包含对Excel 2014的支持,尽管Excel 2014这一版本实际并不存在,可能...
在这个场景中,我们关注的两个核心库是`jxl.jar`和`poi3.14.jar`,它们都是Java中用于Excel操作的重要库,但各有其特性和适用范围。 首先,`jxl.jar`是由JExcelAPI项目提供的一个开源库,它主要用于处理老版本的...
1. **poi**:这是核心库,包含处理Excel文件(HSSF和XSSF)的主要代码,以及对Word文档(HWPF)和PowerPoint文件(HSLF和XSLF)的支持。 - HSSF:用于处理老版本的Excel(.xls)文件,基于低级事件模型。 - XSSF:...
3. **使用Apache POI读Excel**: 要读取Excel文件,首先需要创建一个`Workbook`对象,然后从该对象获取`Sheet`,再从`Sheet`获取`Row`,最后从`Row`获取`Cell`。可以使用`getCellType()`方法确定单元格类型,并通过...
这个"poi-3.14.rar"文件很可能是Apache POI库的一个版本3.14的压缩包,包含了Java库和其他相关资源,允许开发者在Java应用程序中读写Excel文件,以及其他Office文档。 Apache POI提供了以下主要功能: 1. **Excel...
Apache POI项目通常由多个JAR文件组成,每个文件对应不同的功能模块,如处理Excel(HSSF和XSSF),Word(HWPF和XWPF)或PowerPoint(HSLF和XSLF)。3.14版本可能包括以下核心JAR文件: 1. **poi-3.14.jar**: 这是...
这个版本引入了对Excel 2007及以上版本的XSSF工作簿的支持,允许开发者处理.xlsx文件。它提供了API来创建、读取和修改单元格、行、列、公式等。此外,3.15版可能包含对旧版Excel (.xls)格式的支持,通过HSSF接口。...
这个版本包含了处理Excel(HSSF和XSSF)、Word(HWPF和XWPF)以及PowerPoint(HSLF和XSLF)文件所需的类库。"bin"通常表示这是一个二进制分发版,包含编译好的Java类库,可以直接在Java环境中使用,无需进行编译。 ...
- **HSSF(Horrible Spreadsheet Format)**: 这是POI用来处理旧版BIFF格式(Excel 97-2007)的API。你可以创建新的工作簿、工作表,添加单元格,设置公式,以及读取和修改现有的Excel文件。 - **XSSF(XML ...
HSSF - 提供读写Microsoft Excel格式档案的功能。 XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。 HWPF - 提供读写Microsoft Word格式档案的功能。 HSLF - 提供读写Microsoft PowerPoint格式档案的功能...
在给定的“poi-bin-3.14.rar”压缩包中,包含的是Apache POI 3.14版本的二进制文件,这使得Java开发者能够在程序中实现对Excel文件的读取、写入和分析功能。此版本的POI支持两种不同的Excel文件格式:97-2003使用的...
对于 Excel 文件,POI 提供了对 .xls(HSSF - Hadoop POI API for Old Excel Format)和 .xlsx(XSSF - Hadoop POI API for New Excel Format)的支持。 2. **解析 .xlsx 文件**: `.xlsx` 文件是基于 Office Open...
- 引入了对HSSF(Horizontally Stored File Format)和XSSF(XML Spreadsheet Format)的支持,分别用于处理老版的BIFF格式(.xls)和新的OOXML格式(.xlsx)的Excel文件。 - 提供了SS.usermodel接口,作为HSSF和...
在Java POI项目中,主要包含两个关键组件:HSSF(Horrible Spreadsheet Format)用于处理.xls格式的Excel文件,而XSSF(XML Spreadsheet Format)则用于处理.xlsx格式的文件。 首先,我们要理解Java POI的基本使用...
它支持多种Microsoft Office格式,包括HSSF(Horrible Spreadsheet Format)用于处理旧版的.BIFF8 Excel文件,以及XSSF(XML Spreadsheet Format)用于处理.xlsx文件,这是Office 2007及更高版本中使用的Open XML...
在提供的文件列表中,`poi-3.14.jar`是POI的主要库,它包含了对HSSF和XSSF的支持。`poi-ooxml-schemas-3.14.jar`包含了Office Open XML格式的模式定义,这些定义用于解析和创建OOXML文件。而`poi-ooxml-3.14.jar`则...