`

Java 操作 Excel (读取Excel2003 2007,Poi实现)

POI 
阅读更多
一. Apache POI 简介( http://poi.apache.org/)
    使用Java程序读写Microsoft Office,提供了下面这几种类型:
    HSSF-提供读写Microsoft Excel XLS格式档案的功能。
    XSSF-提供读写Microsoft Excel OOXML XLSX格式档案的功能。
    HWPF-提供读写Microsoft Word DOC格式档案的功能。
    HSLF- 供读写Microsoft PowerPoint格式档案的功能。
    HDGF-提供读Microsoft Visio格式档案的功能。
    HPBF-提供读Microsoft Publisher格式档案的功能。

二、POI操作Excel
    1. 官方快速帮助:http://poi.apache.org/spreadsheet/quick-guide.html
    2. 导入包:
               dom4j-1.6.1.jar
               junit-3.8.1.jar
               poi-3.8-20120326.jar
               poi-ooxml-3.8-20120326.jar
               poi-ooxml-schemas-3.8-20120326.jar
               xmlbeans-2.3.0.jar

参考:
    1. http://www.blogjava.net/vwpolo/archive/2009/09/16/295243.html
    2. http://hacker-zxf.javaeye.com/blog/746546
    3. http://zmx.javaeye.com/blog/622536
    4. http://canfly2010.javaeye.com/blog/701726
package excel.poi.input;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import org.apache.poi.POITextExtractor;
import org.apache.poi.extractor.ExtractorFactory;
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.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.xmlbeans.XmlException;
public class ReadExcel {
	/**
	 * 读取office 2003 xls
	 * @param filePath
	 */
 @SuppressWarnings({ "unchecked", "deprecation" })
public void loadXls(String filePath){
	  try {
		   InputStream input = new FileInputStream("D://test.xls");
		   POIFSFileSystem fs = new POIFSFileSystem(input);
		   HSSFWorkbook wb = new HSSFWorkbook(fs);
		   HSSFSheet sheet = wb.getSheetAt(0);
		   // Iterate over each row in the sheet
		   Iterator rows = sheet.rowIterator();
		   while (rows.hasNext()) {
		    HSSFRow row = (HSSFRow) rows.next();
		    System.out.println("Row #" + row.getRowNum());
		    // Iterate over each cell in the row and print out the cell"s
		    // content
		    Iterator cells = row.cellIterator();
		    while (cells.hasNext()) {
		     HSSFCell cell = (HSSFCell) cells.next();
		     System.out.println("Cell #" + cell.getCellNum());
		     switch (cell.getCellType()) {
		     case HSSFCell.CELL_TYPE_NUMERIC:
		      System.out.println(cell.getNumericCellValue());
		      break;
		     case HSSFCell.CELL_TYPE_STRING:
		      System.out.println(cell.getStringCellValue());
		      break;
		     case HSSFCell.CELL_TYPE_BOOLEAN:
		      System.out.println(cell.getBooleanCellValue());
		      break;
		     case HSSFCell.CELL_TYPE_FORMULA:
		      System.out.println(cell.getCellFormula());
		      break;
		     default:
		      System.out.println("unsuported sell type");
		      break;
		     }
		    }
		   }
		  } catch (IOException ex) {
		   ex.printStackTrace();
		  }
 }
 /**
  * 读取xlsx文本
  * @param filePath
  */
 public void loadXlsxText(String filePath){
	 File inputFile = new File("D://test.xlsx");   
	 try {
		POITextExtractor extractor = ExtractorFactory.createExtractor(inputFile);
		System.out.println(extractor.getText());
	} catch (InvalidFormatException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	} catch (OpenXML4JException e) {
		e.printStackTrace();
	} catch (XmlException e) {
		e.printStackTrace();
	}   
 }
 /**
  * 读取office 2007 xlsx
  * @param filePath
  */
 public void loadXlsx(String filePath){
	 // 构造 XSSFWorkbook 对象,strPath 传入文件路径   
	XSSFWorkbook xwb = null;
	try {
		xwb = new XSSFWorkbook("D://test.xlsx");
	} catch (IOException e) {
		System.out.println("读取文件出错");
		e.printStackTrace();
	}   
	 // 读取第一章表格内容   
	 XSSFSheet sheet = xwb.getSheetAt(0);   
	 xwb.getSheetAt(1);
	// 定义 row、cell   
	 XSSFRow row;   
	 String cell;   
	 // 循环输出表格中的内容   
	 for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {   
	     row = sheet.getRow(i);   
	     
	     for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {   
	        // 通过 row.getCell(j).toString() 获取单元格内容,   
	        cell = row.getCell(j).toString();  
	        System.out.print(cell + "/t");   
	    }   
	     System.out.println("");   
	 }   
 }
 public static void main(String[] args) {
	 ReadExcel readExcel =new ReadExcel();
	 readExcel.loadXlsx("");
 }
}


Workbook wb = WorkbookFactory.create(new FileInputStream(FILE_URL));
可以自动判断2003还是2007版的文档格式。

转自:http://blog.csdn.net/yuanfen860913/article/details/5940387

分享到:
评论

相关推荐

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。

    java读写Excel,POI.JAR,Word内容读取

    java读写Excel,POI.JAR,Word内容读取

    java 读取excel表格数据 poi

    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...

    java读取excel简单例子

    这个简单的例子展示了如何读取Excel文件的基本操作,但实际应用中可能需要处理更复杂的情况,比如单元格的格式、公式、超链接等。此外,jxl库只支持Excel的旧版本(.xls),对于新的.xlsx格式,你可能需要使用Apache...

    java使用 poi 读取excel

    总的来说,Apache POI 提供了强大的功能,使得 Java 开发者能够轻松地读取、写入和操作 Excel 文件,从而在数据处理方面提高效率。通过熟练掌握 Apache POI,你可以实现各种复杂的 Excel 处理需求。

    Java通过POI读取Excel遍历数据,批量生成word文档

    本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...

    poi 操作excel模板

    在Java开发中,POI库被广泛用于生成、修改和读取Excel文档。本篇将深入探讨如何利用Apache POI来操作Excel模板,以及如何读取数据并将其填充到新生成的文件中,最终提供下载。 首先,你需要在项目中引入Apache POI...

    java的poi生成excel图表demo

    在Java中,它允许开发者创建、修改和读取Excel工作簿、工作表以及单元格的数据。POI库不仅支持基本的文本和数字操作,还支持更高级的功能,如公式计算、样式设置和图表创建。 2. **创建Excel图表** 要生成Excel图表...

    java 通过poi操作excel jar包

    Apache POI是一个开源项目,提供了丰富的API,使得Java开发者能够轻松地与MS Office格式交互,包括XLS(Excel 97-2003)和XLSX(Excel 2007及以后的版本)。 标题中的"java通过poi操作excel jar包"指的是使用Apache...

    JAVA用POI读取和创建2003和2007版本Excel完美示例

    在Java中,POI库提供了读取和写入Excel文件的强大功能,包括对2003(.xls)和2007及以上版本(.xlsx)的支持。下面我们将详细讲解如何使用POI进行Excel文件的读取和创建。 1. **安装POI库** 要使用POI,首先需要将...

    Java读取大数据量Excel的方法(POI)

    为了读取Excel文件,我们需要引入Apache POI的依赖库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi-ooxml &lt;version&gt;4.1.2 ``` 或者,如果你的项目不...

    Java实现Excel读写的poi 5.2.1版本jar

    Java中的Apache POI库是一个强大的工具,用于读取和写入Microsoft Office格式的文件,特别是Excel的XLS和XLSX格式。在这个5.2.1版本中,POI提供了对Excel电子表格的强大支持,包括读取数据、修改内容、创建新工作簿...

    java 读取 Excel 读取 兼容2003,2007

    以下将详细介绍如何使用Java来读取Excel文件,同时兼容2003和2007版。 1. Apache POI 库 Apache POI 是一个开源项目,它为Microsoft Office格式提供了一个强大的API。对于Excel文件,POI提供了HSSF(Horrible ...

    java使用POI操作excel (支持excel2007)

    Java 使用Apache POI库操作Excel 2007文件详解 在Java开发中,处理Excel文件是一项常见的任务,特别是对于数据分析、数据导入导出或报表生成等场景。Apache POI是一个流行的开源库,它允许开发者读写Microsoft ...

    java读取excel poi 方法

    ### Java读取Excel POI方法详解 #### 一、POI简介及背景 Apache POI 是一个用于处理 Microsoft Office 格式文件的开源库,它提供了读取、写入和修改这些文件的功能。POI 项目中最常用的部分是 HSSF 和 XSSF,分别...

    POI教程 JAVA操作EXCEL教程

    通过使用POI,JAVA开发者可以在不依赖Microsoft Office的情况下,实现对Excel文件的读写操作。在企业级应用中,这尤其适用于生成报表、数据导入导出等场景。 ### 1. POI简介 Apache POI提供了HSSF接口,用于处理MS...

    poi.zip java读取excel文件

    Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...

    利用POI解析excel并存入数据库demo

    在这个"利用POI解析excel并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...

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

    Apache POI是一个强大的Java库,专门用于处理...通过lib.rar和Poi02.rar中的示例代码,你可以更深入地了解和学习POI操作Excel的具体实现。在实践中,结合这些资源,你将能够熟练地在Java Web项目中集成Excel处理功能。

    利用POI读取excel写入到word

    要实现"利用POI读取excel写入到word",我们需要以下步骤: 1. **准备环境**:首先,确保你的项目已经引入了Apache POI的依赖。在给定的压缩包中,"poi - 副本"可能是包含POI库的JAR文件,你需要将其添加到你的项目...

Global site tag (gtag.js) - Google Analytics