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

poi 学习之 使用 Apche poi 简单读写 Excel

阅读更多

使用 Apche poi 简单读写 Excel

 

 

首先:毋庸置疑,我们得去官网下载POI,地址:http://jakarta.apache.org/poi/


如下图(由于本人英语不是很好,初学时找下载的地方找了好长时间,所以直接把图贴出来,方便下载使用):

 

点击Download跳转:

 

下载poi-bin-3.11-beta2-20140822.zip解压,并把jar包引入到项目中;至此,我们的第一步准备工作就完成了(是不是灰常简单呢)。

 

在项目中想把 Excel 数据导入数据库中或者是将数据库中的数据导出为 Excel,POI 是个不错的选择。

 

Apache POI 是 Apache 软件基金会的开放源码函式库,POI 提供 API 给 Java 程式对Microsoft Office 格式档案读和写的功能。

 

1)HSSF- 提供读写Microsoft Excel格式档案的功能,Excel 2003(.xls)。
2)XSSF - 提供读写Microsoft Excel OOXML格式档案的功能,Excel 2007(.xlsx)。
3)HWPF - 提供读写Microsoft Word格式档案的功能。
4)HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
5)HDGF - 提供读写Microsoft Visio格式档案的功能。

 

下面是两个简单的Excel读写功能:

 

XLSReader.java

package com.poi;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
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;
/**
 * excel读取
 * @author Snow
 * HSSF用于2003版即以  .xls结尾
 * XSSF用于2007版    以   .xlsx结尾
 */
public class XLSReader {
	public static List readExcelData(String url)throws Exception{
		
		// 从XLSX/ xls文件创建的输入流
		FileInputStream fis = new FileInputStream(url);
		List hospitalList = new ArrayList();
		
		// 创建工作薄Workbook
		Workbook workBook = null;
		
		// 读取2007版,以    .xlsx 结尾
		if(url.toLowerCase().endsWith("xlsx")){
			try {
				workBook = new XSSFWorkbook(fis);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		// 读取2003版,以   .xls 结尾
		else if(url.toLowerCase().endsWith("xls")){
			try {
				workBook = new HSSFWorkbook(fis);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		//Get the number of sheets in the xlsx file
		int numberOfSheets = workBook.getNumberOfSheets();
		
		// 循环 numberOfSheets
		for(int sheetNum = 0; sheetNum < numberOfSheets; sheetNum++){
			
			// 得到 工作薄 的第 N个表
			Sheet sheet = workBook.getSheetAt(sheetNum);
			Row 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++){
					// 循环列数
					cell = row.getCell(j).toString();
					hospitalList.add(cell);
//					System.out.println(cell+"\t");
				}
			}
		}
		return hospitalList;
	}
	public static void main(String[] args)throws Exception {
		List list = readExcelData("E:/hospital.xlsx"); 
		System.out.println(list);
	}
}
 
XLSWriter.java
package com.poi;

import java.io.FileOutputStream;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
 * 
 * @author Snow
 * 简单的写入 excel
 * HSSF实现 excel 2003(以 .xls 结尾的文件)
 * XSSF实现 excel 2007(以 .xlsx 结尾的文件)
 */
public class XLSWriter {
	public static void main(String[] args)throws Exception{
		// 创建工作薄
		XSSFWorkbook workBook = new XSSFWorkbook();
		// 在工作薄中创建一工作表
		XSSFSheet sheet = workBook.createSheet();
		// 在指定的索引处创建一行
		XSSFRow row = sheet.createRow(0);
		// 在指定的索引处创建一列(单元格)
		XSSFCell code = row.createCell(0);
		// 定义单元格为字符串类型
		code.setCellType(XSSFCell.CELL_TYPE_STRING);
		// 在单元格输入内容
		XSSFRichTextString codeContent = new XSSFRichTextString("医院编号");
		code.setCellValue(codeContent);
		XSSFCell city = row.createCell(1);
		city.setCellType(XSSFCell.CELL_TYPE_STRING);
		XSSFRichTextString cityContent = new XSSFRichTextString("城市");
		city.setCellValue(cityContent);
		// 新建一输出流并把相应的excel文件存盘
		FileOutputStream fos = new FileOutputStream("E:/hos.xlsx");
		workBook.write(fos);
		fos.flush();
		//操作结束,关闭流
		fos.close();
		System.out.println("文件生成");
	}
}
供初学者参考
原文地址:http://blog.csdn.net/u014011236/article/details/39182051
分享到:
评论

相关推荐

    apache POI文件读写excel

    - **JExcelAPI**: 一个更简单的库,支持读写Excel文件,但不支持较新的OOXML格式。 - **Apache POI-HSMF**: 用于处理Outlook的MSG文件。 - **Apache POI-OOXML-Schemas**: 提供对OOXML标准的直接访问,用于自定义...

    poi读写excel+poi总结

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel...以上就是关于使用Apache POI进行Excel读写的基本介绍和总结。实际应用中,开发者可以根据需求扩展这些基础操作,实现更复杂的功能。

    Apache POI for Android

    在Android开发中,Apache POI 提供了处理Excel文件的能力,使得开发者可以在Android设备上进行Excel的读写操作,无需依赖微软的软件环境。这个库简化了与Excel数据交互的过程,使得在移动应用中处理数据变得更加便捷...

    Apache POI HSSF读写Excel

    以下是对使用Apache POI HSSF进行Excel读写操作的详细知识点: 1. **HSSF模型**:Apache POI使用了一种类似于Excel内部结构的模型来表示工作簿、工作表、行、单元格等元素。HSSFWorkbook代表一个工作簿,HSSFSheet...

    POI读写excel文件+poi简单文档

    总的来说,“POI读写excel文件+poi简单文档”涵盖了Apache POI在Java环境中处理Excel文件的基础和进阶知识,是学习和使用POI进行Excel操作的重要参考资料。通过学习和实践,开发者可以轻松地在Java程序中实现Excel...

    Apache POI Excel操作

    总结,Apache POI为Java开发者提供了强大的Excel操作工具,通过理解并熟练掌握其核心概念、API和使用方法,可以轻松地在Java应用中实现Excel文件的读写和处理。在实际项目中,根据需求选择合适的API,配合Maven配置...

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

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

    poi导出根据模板导出excel和简单列表导出excel源码

    在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...

    Apache poi 操作 excel 文件压缩包

    5. **poi-examples**: 包含了使用Apache POI API的示例代码,可以帮助开发者理解如何实际操作Excel文件。 6. **poi-excelant**: 提供了用于构建和执行Ant任务的工具,这些任务与Excel操作有关,例如创建或处理Excel...

    导入poi jar包实现使用Beanshell读写Excel文件

    在Java编程环境中,Apache POI库是一个非常实用的工具,它允许我们操作Microsoft Office格式的文件,特别是Excel(.xls和.xlsx)文件。在JMeter测试框架中,我们可以结合使用POI库和BeanShell组件来读取和写入Excel...

    Apache POI资源包

    Apache POI是一个开源项目,由Apache软件基金会维护,专门用于处理Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)、PowerPoint(.ppt/.pptx)等。这个资源包是Java开发者在跨平台上读取、...

    Apache POI HSSF和XSSF读写EXCEL总结

    Apache POI HSSF和XSSF读写EXCEL总结

    poi3.1读写excel,wps et

    Apache POI是一个流行的开源库,专门用于处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx)和Word(.doc和.docx)。在本场景中,我们关注的是使用POI 3.1版本来读取和写入Excel以及WPS的ET文件。POI 3.1是...

    java excel操作 poi-3.17 可用于jdk1.70

    附件是java poi 3.17的lib库及其依赖库,全部下载引用后,可以进行excel的读写操作,无需引用其他lib库。poi-3.17适用于jdk1.7。 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft ...

    应用POI组件读写Excel文档

    在Java开发中,Apache POI是一个...通过以上内容,你应该对使用Apache POI进行Java开发中的Excel操作有了更深入的理解。实践时,可以结合具体的业务需求,灵活运用POI提供的API,实现高效、可靠的Excel文档处理功能。

    poi-3.9 apache-poi-3.9 最新稳定版本

    1. HSSF:这是Apache POI对早期Excel文件格式的支持,主要用于读写.xls文件。HSSF提供了一系列的类,如`HSSFWorkbook`代表工作簿,`HSSFSheet`代表工作表,`HSSFRow`代表行,`HSSFCell`代表单元格。开发者可以通过...

    poi3.9读写excel兼容03和07版本

    "poi3.9读写excel兼容03和07版本"这个标题指的是使用Apache POI 3.9版本的API,能够兼容两种不同格式的Excel文件:.xls(Excel 2003及更早版本)和.xlsx(Excel 2007及更高版本)。 在描述中提到的"完美修订版本...

    java用poi读写excel表

    本文将详细介绍如何使用POI库在Java中进行Excel的读写操作,以及一个在Eclipse环境中运行的实例。 首先,我们需要了解Apache POI的基本概念。POI是Apache软件基金会的一个开源项目,它提供了Java API来处理...

    读写Excel2007 POI3.8

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

    poi3.9读写EXCEL

    总结起来,Apache POI 3.9在读写Excel方面提供了强大的功能,不仅支持旧版的XLS格式,而且在处理XLSX文件时同样游刃有余。开发者可以根据需求,利用这些API创建复杂的Excel应用,如报表生成、数据分析等。

Global site tag (gtag.js) - Google Analytics