`
surfingForRest
  • 浏览: 145563 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

JAVA解析EXCEL(2003和2007)

阅读更多
本文参考:
http://wenku.baidu.com/view/707f07d95022aaea998f0fd1.html
http://feitian0127.iteye.com/blog/1152524
感谢两位。

使用的包:



代码如下:
import java.util.ArrayList; 
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
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.xssf.usermodel.XSSFWorkbook;

public class ReadExcel {
	public ArrayList<ArrayList<String>> readExcel(String fileName,String path) {
		ArrayList<ArrayList<String>> Row =new ArrayList<ArrayList<String>>();
		
		try {
			Workbook workBook = null;
            try {
        	workBook = new XSSFWorkbook(path+"\\"+fileName);
            } catch (Exception ex) {
            workBook = new HSSFWorkbook(new FileInputStream(path+"\\"+fileName));
        } 
			
			
			for (int numSheet = 0; numSheet < workBook.getNumberOfSheets(); numSheet++) {
				Sheet sheet = workBook.getSheetAt(numSheet);
				if (sheet == null) {
					continue;
				}
				// 循环行Row
				for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
					Row row = sheet.getRow(rowNum);
					if (row == null) {
						continue;
					}
					
					// 循环列Cell
					ArrayList<String> arrCell =new ArrayList<String>();
					for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) {
						Cell cell = row.getCell(cellNum);
						if (cell == null) {
							continue;
						}
						arrCell.add(getValue(cell));
					}
					Row.add(arrCell);
				}
			}
		} catch (IOException e) {
			System.out.println("e:"+e);
		}
	
		return Row;
	}

	private String getValue(Cell cell) {
		if (cell.getCellType() == cell.CELL_TYPE_BOOLEAN) {
			return String.valueOf(cell.getBooleanCellValue());
		} else if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {
			return String.valueOf(cell.getNumericCellValue());
		} else {
			return String.valueOf(cell.getStringCellValue());
		}
	}

	public static void main(String[] args) {
		ReadExcel s= new ReadExcel();
		//ArrayList<ArrayList<String>> row=s.readExcel("TEST.xlsx","D:\\Program Files\\Java");
		ArrayList<ArrayList<String>> row=s.readExcel("TEST1.xls","D:\\Program Files\\Java");
		System.out.println("size:"+row.size());
		for (ArrayList<String> cell : row) {
			for (String str : cell) {
				System.out.println(str);
				}
			}
	}
}
  • 大小: 19.3 KB
分享到:
评论
2 楼 贝塔ZQ 2016-09-29  
java实现解析excel文件,PageOffice插件可以实现的,支持03,07,10,13等office版本的文件,用起来是很方便的。
1 楼 wangxin2009 2014-09-01  
很好用,多谢!

相关推荐

    java用poi解析excel2003和2007并封装成对象返回

    Java使用Apache POI库解析Excel 2003(.xls)和2007(.xlsx)文件是一项常见的任务,特别是在数据导入、数据分析或自动化处理场景中。Apache POI是一个开源项目,提供了读写Microsoft Office格式文件的能力,包括...

    java解析excel文件 2003 2007

    总的来说,Java解析Excel文件涉及的关键点包括选择合适的API(HSSF或XSSF)、理解文件格式以及利用库提供的功能进行数据操作。在实际项目中,根据文件大小、性能需求和功能复杂性,选择最佳的处理策略至关重要。

    Java解析Excel兼容2003和2007(有实例和类包)

    在这个案例中,提供的`(Excel2003和2007操作类包)poi-3.8.zip`是POI的一个旧版本,可能不包含对.xlsx文件的完全支持。推荐使用较新版本,例如4.x系列,以确保兼容性和性能。 2. **读取Excel文件**: 使用...

    java读取excel2003+2007

    java读取excel文件内容,可读取2003和2007版本

    java 解析Excel 并判断解析的数据类型__Eclipse工程

    总结来说,这个Eclipse工程展示了如何使用Java和Apache POI库解析Excel文件,并针对单元格的数据类型进行判断,这对于处理大量结构化数据的应用场景非常实用。通过学习和理解这个项目,开发者可以掌握处理Excel数据...

    java解析excel2007源码

    Java解析Excel 2007源码主要涉及的是对Microsoft Office Open XML (OOXML) 格式的处理,这种格式主要用于xlsx文件。OOXML是Excel 2007及更高版本默认使用的存储格式,它以XML为基础,将数据以更结构化的方式存储在多...

    java解析Excel文件并把数据存入数据库和导出数据为excel文件SpringBoot代码示例

    1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....

    java解析2003excel 2007excel

    Java解析2003版Excel和2007版Excel是一项常见的任务,特别是在处理大量数据导入、导出或分析时。在Java中,Apache POI库是用于读写Microsoft Office格式文件,包括Excel的主要工具。下面我们将深入探讨如何使用...

    java解析获取Excel中的数据--同时兼容2003及2007

    总结来说,Java解析Excel数据的关键在于选择正确的库和API,以及理解不同版本Excel文件的格式差异。通过Apache POI或其他类似库,我们可以轻松地在Java中实现对Excel文件的读取,从而实现数据的提取和处理,无论文件...

    java解析excel表格

    Java解析Excel表格是一种常见的任务,尤其在数据处理和分析领域。Java提供了多种库来支持Excel文件的读取和写入,比如Apache POI、JExcelAPI、OpenCSV等。这里我们将重点讨论Apache POI,这是一个广泛使用的开源库,...

    java解析Excel

    java解析Excel

    java解析excel并做数据有效性校验

    1. **Java解析Excel库** 在Java中,有多个库可以用来解析Excel文件,如Apache POI、JExcelAPI、SimpleExcel等。Apache POI是目前最广泛使用的库,支持`.xls`和`.xlsx`格式,功能强大且稳定。我们将主要讨论使用...

    java上传excel并且解析入库

    在Java开发中,上传并解析Excel文件是一种常见的需求,特别是在数据处理、报表导入或系统集成等场景。本篇文章将深入探讨如何实现这个功能,主要涉及的技术包括文件上传、Excel解析以及数据库操作。 首先,我们需要...

    Java解析大数据量Excel,可解析1048576行excel

    本文将深入探讨如何利用Java和Apache POI来高效地解析百万行的Excel数据。 首先,理解Excel文件的结构至关重要。Excel 2007及以上版本(.xlsx格式)使用了基于OpenXML标准的ZIP文件结构,这使得文件可以被分割成多...

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架.rar

    JAVA解析Excel工具EasyExcel Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存&#xff0c;poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题&#xff0c;但...

    java解析excel并导入数据库的web工程

    回答csdn论坛:Java语言下excel导入到mysql数据库表...

    java 解析 excel 程序

    Java使用poi的jar包解析excel,里面有个ExcelUtil工具类, 非常实用,里面有main函数可以测试,导入到eclipse里面就可以运行, 有测试excel文件,需要的jar都在里面, 导入就可以运行.

    java 解析excel jar包

    总之,Java通过Apache POI库可以有效地解析Excel 2003和2007文件,这在数据处理和分析中是非常实用的工具。在使用过程中,理解各个库的作用以及合理运用API,能够帮助我们编写出高效、可靠的代码。

    文件上传,java解析excel和csv 转javabean

    本篇文章将深入讲解如何使用Java解析Excel(包括Excel 2003和2007格式)和CSV文件,并将解析的数据映射到Java Bean,以便后续的数据处理和存储。 首先,我们需要了解如何在Java中处理文件上传。在Servlet环境中,...

Global site tag (gtag.js) - Google Analytics