`
cn_arthurs
  • 浏览: 328283 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI3.8对EXCEL的读写

 
阅读更多

 

package poi.excel;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;

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.ss.util.CellUtil;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelRW {
	/**
	 * 根据提供的文件全路径,加载EXCEL文件( 兼容 xls 和 xlsx )
	 * @param filename
	 * @return
	 * @throws Exception
	 */
	public static Workbook readExcel(String filename) throws Exception{
		Workbook wb = null;
		if(null!=filename&&!"".equals(filename)){
			if(filename.substring(filename.lastIndexOf(".")+1).equals("xls")){
				wb = new HSSFWorkbook(new FileInputStream(filename));
			}else{
				wb = new XSSFWorkbook(new FileInputStream(filename));
			}
		}
		return wb;	
	}
	/**
	 * 根据传入的Workbook对象,进行解析excel
	 * @param wb
	 * @throws Exception
	 */
	public static void parseExcel(Workbook wb) throws Exception{
		
		 Sheet sheet1 = wb.getSheet("Sheet1");	//获取Sheet1
		 Row row = sheet1.getRow(2);//第3行		//获取制定行
		 
		 System.out.println(row.getCell(0)+","+row.getCell(1));	//获取指定的单元格
	}
	public static void wirteExcel(String filename,Workbook wb) throws Exception{
		Sheet sheet1 = wb.getSheet("Sheet1");
		 Row row = sheet1.getRow(2);//第3行
		 Cell c3 = row.getCell(2)==null?row.createCell(2):row.getCell(2);	//如果单元格为NULL,则创建空白单元格
		 Cell d3 = row.getCell(3)==null?row.createCell(3):row.getCell(3);
		 c3.setCellValue("2012-08-17");		//设置字符串
		 d3.setCellValue(10);				//设置int值
		 CellUtil.getCell(sheet1.getRow(0), 3).setCellFormula(CellUtil.getCell(sheet1.getRow(0), 3).getCellFormula());	//当单元格含有计算公式时,通过setvalue方式。公式不会自动进行运算,需要重置一下单元格公式即可。
        if(wb instanceof XSSFWorkbook) filename += "x";		//保存成excel文件,可以自动判断workbook实例,声称对应的文件
        FileOutputStream out = new FileOutputStream(filename);
        wb.write(out);
        out.close();
	}
	public static void main(String[] args) throws Exception {
		Workbook wb = ExcelRW.readExcel("E:/mazq/test.xlsx");
		parseExcel(wb);
		ExcelRW.wirteExcel("E:/mazq/test1.xls",wb);
	}
}
分享到:
评论

相关推荐

    POI 3.8解析Excel2003、Excel2007

    - POI 3.8是Apache POI项目的一个特定版本,它提供了对旧版(如Excel 2003,使用`.xls`格式)和较新版本(如Excel 2007及以上,使用`.xlsx`格式)的Microsoft Office文件的支持。 - POI库基于HSSF(Horizontally ...

    读写Excel2007 POI3.8

    标题“读写Excel2007 POI3.8”涉及的是使用Apache POI库的3.8版本处理Microsoft Excel 2007文件的方法。Apache POI是Java的一个开源项目,专门用于读取、创建和修改Microsoft Office格式的文件,特别是Excel文件。在...

    poi3.8 doc,excel转html

    标题提到的"poi3.8 doc,excel转html",指的是使用Apache POI库的3.8版本进行Microsoft Office文档(尤其是DOC和XLS)到HTML的转换。Apache POI是一个流行的Java库,专门用于读取、写入和操作Microsoft Office格式的...

    导入excel 导出excle poi3.8 全量包

    在这个"导入excel 导出excle poi3.8 全量包"中,主要关注的是使用POI 3.8版本来操作Excel文件。这个版本的POI提供了一套完整的API,允许开发者在Java环境中读取、写入和修改Excel文件,而无需依赖于Microsoft Office...

    Excel操作工具poi3.8

    在给定的标题“Excel操作工具poi3.8”中,我们关注的是POI 3.8版本,这是一个适用于处理Excel文件的强大工具。在这个版本中,用户可以进行数据读取、写入、格式化以及复杂的公式计算等操作。 首先,我们需要理解...

    POI 3.8完整JAR 支持2003-2010Excel

    以下将详细介绍Apache POI在处理Excel方面的功能,特别是对2003年至2010年版本的支持。 1. **Apache POI简介**: Apache POI是一个Java库,允许开发人员创建、修改和显示Microsoft Office格式的文件。它提供了API...

    poi 3.8 版本全量包

    11. **poi3.8版本.rar**:这可能是整个Apache POI 3.8的源码或附加资源,方便开发者进行深入研究或定制开发。 使用这些库,开发者可以创建Java应用程序来导入和导出Excel文件,例如,创建新的工作簿,添加工作表,...

    poi 3.8 3.9 3.10 3.15 3.17各种版本

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel(XLS、XLSX)、Word(DOC、DOCX)等。在Java环境中,POI库提供了丰富的API,使得开发者能够方便地读取、写入和操作这些文件。在给定的...

    poi-3.8的6个包

    POI 3.8是该项目的一个较早版本,它提供了对Office文档的读写支持,尤其在Java环境中非常实用。这个压缩包包含的6个jar文件是POI 3.8版的核心组件,每个都有特定的功能: 1. **poi-3.8-20120326.jar**:这是Apache ...

    jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003

    在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...

    poi3.8jar包

    标题中的"poi3.8jar包"指的是Apache POI项目的3.8版本的Java库,这个库以JAR(Java Archive)文件的形式提供,便于Java开发者在他们的应用中集成对Office文档的支持。 Apache POI的主要功能: 1. **Excel处理**: ...

    java\androi-poi3.8下载

    - POI 3.8 版本针对Android进行了优化,减少了对Android系统的API依赖,使其能在各种Android设备上运行。 3. **内存效率:** - POI 提供了低内存占用的处理方式,如SXSSF(Streaming Usermodel API),适合处理...

    POI 3.8 API java读取excel、ppt、word文件

    POI 3.8 API 提供了丰富的接口和类,使得开发者能够高效地操作Excel、Word和PPT文件。 在Java中读取Excel文件,主要涉及以下几个核心概念: 1. **工作簿(Workbook)**:在POI中,工作簿代表了一个Excel文件,它...

    poi 3.8jar 包

    "poi 3.8jar 包"是Apache POI的一个版本,特别提及的是3.8-beta5,尽管这个版本是Beta版,但在处理Excel文档方面已经相当成熟。 1. **Apache POI介绍**: Apache POI 是Apache软件基金会的项目之一,主要为Java...

    poi3.8

    在标题“poi3.8”中提到的版本3.8是该项目的一个历史版本,发布于2012年9月。这个版本包含了对处理Excel、Word和PowerPoint文件的API改进和修复。 在POI 3.8中,主要的知识点包括: 1. **Excel处理**: - HSSF...

    poi-3.8相关&解析excel2003和2007版

    在这个 poi-3.8 相关的压缩包中,我们主要关注的是如何使用Apache POI来解析Excel 2003和2007版的文件。 在Excel 2003中,文件格式通常是.XLS,它基于BIFF(Binary Interchange File Format)结构。而Excel 2007及...

    poi3.8,3.9,3.10jar包

    标题提到的"poi3.8,3.9,3.10jar包"分别代表了三个不同版本的Apache POI库,每个版本都有其特定的改进和新特性。 在Excel处理方面,Apache POI相比于早期的jxl库,提供了更多的功能和更好的性能。以下是Apache POI在...

    poi-3.8开发用所有jar包

    这个版本支持对Excel的两种主要格式进行读写操作:BIFF8(.xls)和OOXML(.xlsx)。BIFF8是Excel 97-2003使用的格式,而OOXML则是从Excel 2007开始引入的新格式。 1. **Excel处理**: - **HSSF(Horrible ...

    POI_3.8_API

    以下是对POI 3.8 API的一些详细说明和相关知识点: 1. **Excel处理**: - **HSSF(Horizontally Stored Spreadsheet Format)**: 这是POI用来处理旧版的.BIFF格式(Excel 97-2007)的接口。你可以创建工作簿、工作...

    poi3.8 源代码 解析Excel

    在"poi3.8 源代码 解析Excel"这个主题中,我们主要关注的是如何使用POI库来解析和操作Excel文件。POI 3.8 是一个较早的版本,但它仍然具有广泛的兼容性和实用性,尤其是对于解析Excel 2007(.xlsx)这样的新格式。 ...

Global site tag (gtag.js) - Google Analytics