Java POI导入Excel文件

  今天在公司需要做个导入Excel文件的功能,所以研究了一下,参考网上的一些资料总算是做出来了,在此记录一下防止以后忘记怎么弄。

  本人用的是poi3.8,所以需要的JAR包如下:

    poi-3.8.jar 

    poi-excelant-3.8-20120326.jar

    poi-ooxml-3.8-20120326.jar

    poi-ooxml-schemas-3.8-20120326.jar

    poi-scratchpad-3.8-20120326.jar

    xmlbeans-2.3.0.jar

  附上百度云盘的共享地址,JAR包来自apache官方:http://pan.baidu.com/s/1bnzzheR

  附上方法详情,方法来自csdn的一个博客,具体地址我给忘了,反正不是原创,不过在其基础上修改了下,代码更易读,为了让第一次做这个的人弄明白,所以注释部分写的详细了一些,实际用的时候可以删掉,此方法可以兼容xls和xlsx两种格式,其他的未经过测试:

public String importExcel() {
		try{
			InputStream inputStream = new FileInputStream("C:\\Users\\Administrator\\Desktop\\test.xls");
			//根据输入流获取工作簿(整个excel文件)
			Workbook workbook = WorkbookFactory.create(inputStream);
			//获取第一个工作表(excel文件中第一个工作表)
			Sheet sheet = workbook.getSheetAt(0);
			//获取行迭代器
			Iterator<Row> rowIterator = sheet.rowIterator();
			while(rowIterator.hasNext()){
				//获取当前行
				Row row = (Row) rowIterator.next();
				//获取单元格迭代器
				Iterator<Cell> colIterator = row.cellIterator();
				while (colIterator.hasNext()){
					//获取当前单元格
					Cell cell = (Cell) colIterator.next();
					//打印列号和行号,从0开始,Excel中A1单元格打印出来是0:0,B2单元格打印出来是1:1
					System.out.print(cell.getRowIndex() + ":" + cell.getColumnIndex() + " ");
					//根据单元格的数据类型获取数据
					switch (cell.getCellType()){
						case Cell.CELL_TYPE_STRING:
							System.out.println(cell.getRichStringCellValue().getString());
							break;
						case Cell.CELL_TYPE_NUMERIC:
							if (DateUtil.isCellDateFormatted(cell)){
								System.out.println(cell.getDateCellValue());
							}else{
								System.out.println(cell.getNumericCellValue());
							}
							break;
						case Cell.CELL_TYPE_BOOLEAN:
							System.out.println(cell.getBooleanCellValue());
							break;
						case Cell.CELL_TYPE_FORMULA:
							System.out.println(cell.getCellFormula());
							break;
						default:
							System.out.println("null");
					}
				}
			}
		} catch (Exception e){
			e.printStackTrace();
		}
		return "";
	}
时间: 2024-11-02 23:22:47

Java POI导入Excel文件的相关文章

java poi导入EXCEL

import jxl.DateCell; import jxl.NumberCell; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.use

Java poi导入excel(合并单元格的excel)(转)

poi导入excel代码示例 原文地址:https://mbd.baidu.com/newspage/data/landingshare?pageType=1&isBdboxFrom=1&context=%7B%22nid%22%3A%22news_9588929214493290157%22%2C%22sourceFrom%22%3A%22bjh%22%7D 原文地址:https://www.cnblogs.com/zbq6/p/12501683.html

java poi 导入excel

最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包  http://pan.baidu.com/s/1sjPuWDR package example.poi; import java.io.*; import java.text.DecimalFormat; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*; impor

java poi读取excel文件

poi-3.9-20121203.jar poi-ooxml-3.9-20121203.jar poi-ooxml-schemas-3.9-20121203.jar stax-api-1.0.1.jar xmlbeans-2.3.0.jar 上面几个jar包缺一不可,有时候会出现ClassNotFound之类的错误,是因为jar缺少或不兼容的原因,上面jar包已经过测试,可以使用. 读取excel文件代码如下: public class ExcelUtils {// 对外提供读取excel文件的

Java jxl导入excel文件,导入的数字、身份证号码、手机号变成了科学计数法,解决方案

原文出自:https://blog.csdn.net/seesun2012 这是一个execl文件导入数据库操作,使用jxl解析execl导入数据库过程出现了科学计数法,与想要导入的数据不匹配,以下是案例以及解决方案: 导入成功后示例: 1.手机号:15388886666 科学计数法:1.54E+10 2.数字:123456789000000 科学计数法:1.23E+14 3.身份证:432222198808083789 科学计数法:4.32E+17 解决思路: 1.判断是否为数字类型(NUMB

java poi 读取excel文件随笔

需求:最近的项目需要将app的上传菜品功能移到pc端来实现,主要难点就是图片的批量导入,因为现在的框架是公司自己开发的,我实在不敢恭维,上传文件我用js传到服务器,在后台来读....  为什么传到服务器,因为现在浏览器的安全性提高之后,input file 获取不到真实的绝对地址.... jar:poi-3.12.jar    poi-ooxml-3.12.jar  poi-ooxml-schemas-3.8-20120326.jar  xmlbeans-2.3.0.jar 没用同版本的是因为之

java poi 导入 Excel的cell类型

(1):CellType 类型值 CELL_TYPE_NUMERIC 数值型 0 CELL_TYPE_STRING 字符串型 1 CELL_TYPE_FORMULA 公式型 2 CELL_TYPE_BLANK 空值 3 CELL_TYPE_BOOLEAN 布尔型 4 CELL_TYPE_ERROR 错误 5 (2)SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm"); //12小时制 (3)SimpleDate

java poi 导出Excel文件

1,导包  poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private static final long serialVersionUID = 1L; private int id; private String name; private int age; private Date borth; public Student(int id, String name, i

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt