poi获得xls页数

poi获得xls页数,第1张

在导出时可获得。

在导出excel时候需要导出多个sheet页,后面sheet页会覆盖前面sheet页的内容,即可在poi里获取Excel sheet页的数量。

好几年前的提问了,可能还有人会有相同的疑问。我刚好也找到了方法。其实不难

//建立一个workbook 实例

HSSFWorkbook wb = new HSSFWorkbook(poifs);

//通过workbook的getNumberOfSheets方法返回sheet总数就可以了

wbgetNumberOfSheets();

public static void main(String[] args) {

Workbook wb = null;

try {

//如果是xls,使用HSSFWorkbook;如果是xlsx,使用XSSFWorkbook

wb = new HSSFWorkbook(new FileInputStream("G:\excel\testxls"));

} catch (Exception e) {

eprintStackTrace();

}

//获取第一个画布

Sheet sheet = wbgetSheetAt(0);

CellReference cellReference = new CellReference("A4");

boolean flag = false;

for (int i = cellReferencegetRow(); i <= sheetgetLastRowNum();) {

Row r = sheetgetRow(i);

if(r == null){

//如果是空行(即没有任何数据、格式),直接把它以下的数据往上移动

sheetshiftRows(i+1, sheetgetLastRowNum(),-1);

continue;

}

flag = false;

for(Cell c : r){

if(cgetCellType() != CellCELL_TYPE_BLANK){

flag = true;

break;

}

}

if(flag){

i++;

continue;

}else{//如果是空白行(即可能没有数据,但是有一定格式)

if(i == sheetgetLastRowNum()){

//如果到了最后一行,直接将那一行remove掉

sheetremoveRow(r);

}else{

//如果还没到最后一行,则数据往上移一行

sheetshiftRows(i+1, sheetgetLastRowNum(),-1);

}

}

}

Systemoutprintln("有效行数为:"+(sheetgetLastRowNum()+1));

}

看你代码可不是循环创建相同的sheet么,传参都是一样的。一般创建sheet不用写循环吧,有几个sheet页不是也知道吗,何况你也说了,sheet的内容是不一样的。如果你循环创建的sheet,劝你创建的对象名也要不一样,要不让你怎么获取对应的sheet,怎么再创建row,cell

SXSSFWorkbook workbook = new SXSSFWorkbook(1000);

Sheet sheet = workbookcreateSheet("列表");

Sheet sheet1 = workbookcreateSheet("列表1");

sheetsetDefaultColumnWidth(15);

sheet1setDefaultColumnWidth(15);

Row header = sheetcreateRow(0);

Row header1 = sheet1createRow(0);

CellStyle style = workbookcreateCellStyle();

stylesetAlignment(CellStyleALIGN_CENTER);

Cell cell = headercreateCell(0);

cellsetCellStyle(style);

cellsetCellValue("aa");

这样写是没问题的

poi没用过,jxl的话先取到你要拷贝的sheet,然后是用创建一个新的WritableWorkbook,再用新创建的WritableWorkbook使用importSheet方法导入已有的sheet就可以了。

importSheet方法:

WritableSheet importSheet(String name, int index, Sheet s);

其中name是要创建的sheet的名称,index是sheet的编号,从0开始,s是要导入的sheet

以上就是关于poi获得xls页数全部的内容,包括:poi获得xls页数、如何用java的poi得到一张工作簿里sheet总数、利用POI读取Excel有效行数(含有内容)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9607056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存