java使用POI读取excel文件,兼容xls和xlsx
2017-11-29 15:59
2106 查看
1.maven管理项目,在pom.xml里加依赖,或者直接引用jar包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-FINAL</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.10-FINAL</version>
</dependency>
2.ReadExcel实现类,运行main方法
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
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.usermodel.WorkbookFactory;
public class ReadExcel {
public List<Double> readExcels(InputStream is)throws Exception{
List<Double> xlsxList = new ArrayList<Double>();
try {
if(is ==null){
throw new IOException("文件不正确!");
}
Workbook workbook = WorkbookFactory.create(is);
FormulaEvaluator fe = workbook.getCreationHelper().createFormulaEvaluator();
//获取第一张表
Sheet sheet = workbook.getSheetAt(0);
if(sheet == null){
throw new IOException("传入的excel的第一张表为空!");
}
for(int rowNum = 0;rowNum <= sheet.getLastRowNum(); rowNum++){
Row row = sheet.getRow(rowNum);
if(row != null){
//获得当前行的开始列
int firstCellNum = row.getFirstCellNum();
//获得当前行的列数
int lastCellNum = row.getPhysicalNumberOfCells();
String result = "";
//循环当前行
for(int cellNum = firstCellNum; cellNum < lastCellNum;cellNum++){
Cell cell = row.getCell(cellNum);
double value = 0;
if(null!=fe.evaluate(cell)){
value = fe.evaluate(cell).getNumberValue();
}
result = result + cellNum + ":"+value + "----";
}
System.out.println("result---"+result);
}
}
is.close();
} catch (FileNotFoundException e) {
throw new Exception("文件不正确!");
}
return xlsxList;
}
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("D:\\test.xlsx");
ReadExcel re = new ReadExcel();
re.readExcels(is);
}
}
3.excel文件内容及打印结果
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-FINAL</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.10-FINAL</version>
</dependency>
2.ReadExcel实现类,运行main方法
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
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.usermodel.WorkbookFactory;
public class ReadExcel {
public List<Double> readExcels(InputStream is)throws Exception{
List<Double> xlsxList = new ArrayList<Double>();
try {
if(is ==null){
throw new IOException("文件不正确!");
}
Workbook workbook = WorkbookFactory.create(is);
FormulaEvaluator fe = workbook.getCreationHelper().createFormulaEvaluator();
//获取第一张表
Sheet sheet = workbook.getSheetAt(0);
if(sheet == null){
throw new IOException("传入的excel的第一张表为空!");
}
for(int rowNum = 0;rowNum <= sheet.getLastRowNum(); rowNum++){
Row row = sheet.getRow(rowNum);
if(row != null){
//获得当前行的开始列
int firstCellNum = row.getFirstCellNum();
//获得当前行的列数
int lastCellNum = row.getPhysicalNumberOfCells();
String result = "";
//循环当前行
for(int cellNum = firstCellNum; cellNum < lastCellNum;cellNum++){
Cell cell = row.getCell(cellNum);
double value = 0;
if(null!=fe.evaluate(cell)){
value = fe.evaluate(cell).getNumberValue();
}
result = result + cellNum + ":"+value + "----";
}
System.out.println("result---"+result);
}
}
is.close();
} catch (FileNotFoundException e) {
throw new Exception("文件不正确!");
}
return xlsxList;
}
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("D:\\test.xlsx");
ReadExcel re = new ReadExcel();
re.readExcels(is);
}
}
3.excel文件内容及打印结果
相关文章推荐
- java使用POI实现excel文件的读取,兼容后缀名xls和xlsx
- java:poi读取excel文件,分xls和xlsx
- JAVA 通过poi 读取 本地excel(.xls,.xlsx)文件,文件中 包含图片
- poi导入导出excel文件,兼容.xls和.xlsx两种格式
- Java使用poi读取Excel文件例子
- 使用POI分割纯文本Excel文件 Version0.2 支持XLSX\XLS
- java使用poi读取xls格式和xlsx格式的excel文件
- POI使用:解析xls/xlsx文件(兼容office2003/2007/2010版本)
- 在java中使用weka:用java将Excel文件(xlsx,xls)转换为csv文件
- java使用poi读取excel数据(xlsx)
- 使用 phpExcel 读取xls/xlsx文件到数据库
- java使用poi读取ppt文件和poi读取excel、word示例
- Java 实现导出excel表 POI/Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- java使用POI读取properties文件并写到Excel的方法
- 【java】使用POI读取excel文件内容
- java使用poi读取ppt文件和poi读取excel、word示例
- POI读取EXCEL下xlsx,xls文件
- 通过poi实现解析并读取excel文件(包含xls、xlsx后缀)
- java的poi技术读取Excel[xls,xlsx]
- java使用poi读取ppt文件和poi读取excel、word示例