Java使用poi包读取Excel文档代码分享
项目需要解析Excel文档获取数据,就在网上找了一些资料,结合自己这次使用,写下心得:
1、maven项目需加入如下依赖:
org.apache.poi poi 3.10-FINAL org.apache.poi poi-ooxml 3.10-FINAL
直接上测试类,类里有完善的注释:
packageshindo.Java;
importjava.io.FileInputStream;
importjava.io.InputStream;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importorg.apache.poi.ss.usermodel.Cell;
importorg.apache.poi.xssf.usermodel.XSSFCell;
importorg.apache.poi.xssf.usermodel.XSSFRow;
importorg.apache.poi.xssf.usermodel.XSSFSheet;
importorg.apache.poi.xssf.usermodel.XSSFWorkbook;
publicclassExcelUtil{
publicstaticvoidmain(String[]args){
Stringpath="D:\\IDE\\workspace-Neon\\Java\\src\\refund.xls";
try{
List>result=newExcelUtil().readXls(path);
System.out.println(result.size());
for(inti=0;imodel=result.get(i);
System.out.println("orderNum:"+model.get(0)+"-->orderAmount:"+model.get(1));
}
}catch(Exceptione){
e.printStackTrace();
}
}
/**
*
*@Title:readXls
*@Description:处理xls文件
*@param@parampath
*@param@return
*@param@throwsException设定文件
*@returnList>返回类型
*@throws
*
*从代码不难发现其处理逻辑:
*1.先用InputStream获取excel文件的io流
*2.然后穿件一个内存中的excel文件HSSFWorkbook类型对象,这个对象表示了整个excel文件。
*3.对这个excel文件的每页做循环处理
*4.对每页中每行做循环处理
*5.对每行中的每个单元格做处理,获取这个单元格的值
*6.把这行的结果添加到一个List数组中
*7.把每行的结果添加到最后的总结果中
*8.解析完以后就获取了一个List>类型的对象了
*
*/
privateList>readXls(Stringpath)throwsException{
InputStreamis=newFileInputStream(path);
//HSSFWorkbook标识整个excel
HSSFWorkbookhssfWorkbook=newHSSFWorkbook(is);
List>result=newArrayList>();
intsize=hssfWorkbook.getNumberOfSheets();
//循环每一页,并处理当前循环页
for(intnumSheet=0;numSheetrowList=newArrayList();
//遍历改行,获取处理每个cell元素
for(intcolIx=minColIx;colIx>返回类型
*@throws
*/
privateList>readXlsx(Stringpath)throwsException{
InputStreamis=newFileInputStream(path);
XSSFWorkbookxssfWorkbook=newXSSFWorkbook(is);
List>result=newArrayList>();
//循环每一页,并处理当前循环页
for(XSSFSheetxssfSheet:xssfWorkbook){
if(xssfSheet==null){
continue;
}
//处理当前页,循环读取每一行
for(introwNum=1;rowNum<=xssfSheet.getLastRowNum();rowNum++){
XSSFRowxssfRow=xssfSheet.getRow(rowNum);
intminColIx=xssfRow.getFirstCellNum();
intmaxColIx=xssfRow.getLastCellNum();
ListrowList=newArrayList();
for(intcolIx=minColIx;colIx
总结
以上就是本文关于Java使用poi包读取Excel文档代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。