poi读取excel文件内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poi读取excel文件内容相关的知识,希望对你有一定的参考价值。
现在我想读取excel中的部分内容再存到数据库,读取的时候是读取excel的部分内容,如图所示
我只要读2-4行,E-F列的数据,然后存到数据库,应该怎么遍历,使用的是poi,解决问题继续追分~~~
我想的方法是一个方法里有四个参数,起始行终止行起始列终止列……
//参数分别是开始行,结束行,行对应的开始列和结束列
public void getExcelElement(int startRow,int endRow,int startCell,int endCell)
XSSFWorkbook wb=new XSSFWorkbook();
XSSFSheet sheet=wb.getSheet("sheetName");
for(int i=startRow;i<=endRow;i++)
XSSFRow row=sheet.getRow(i);
for(int a=startCell;a<=endCell;a++)
XSSFCell cell=row.getCell(a);
System.out.println(cell);
我没跑过 你先试试 有问题再说追问
你这个只能读2007的,要分情况,我已经研究出来了,不过还是谢谢哈
参考技术A 我可以帮你写 看我摆渡号 找我吧利用POI读取Excel有效行数(含有内容)
参考技术A public static void main(String[] args)Workbook wb = null;
try
//如果是xls,使用HSSFWorkbook;如果是xlsx,使用XSSFWorkbook
wb = new HSSFWorkbook(new FileInputStream("G:\excel\test.xls"));
catch (Exception e)
e.printStackTrace();
//获取第一个画布
Sheet sheet = wb.getSheetAt(0);
CellReference cellReference = new CellReference("A4");
boolean flag = false;
for (int i = cellReference.getRow(); i <= sheet.getLastRowNum();)
Row r = sheet.getRow(i);
if(r == null)
//如果是空行(即没有任何数据、格式),直接把它以下的数据往上移动
sheet.shiftRows(i+1, sheet.getLastRowNum(),-1);
continue;
flag = false;
for(Cell c : r)
if(c.getCellType() != Cell.CELL_TYPE_BLANK)
flag = true;
break;
if(flag)
i++;
continue;
else//如果是空白行(即可能没有数据,但是有一定格式)
if(i == sheet.getLastRowNum())
//如果到了最后一行,直接将那一行remove掉
sheet.removeRow(r);
else
//如果还没到最后一行,则数据往上移一行
sheet.shiftRows(i+1, sheet.getLastRowNum(),-1);
System.out.println("有效行数为:"+(sheet.getLastRowNum()+1));
以上是关于poi读取excel文件内容的主要内容,如果未能解决你的问题,请参考以下文章
用java的poi类读取一个excel表格的内容后再写入到一个新excel表格中的完整代码