如题,目前思路大致如下:
1.获得RowBreaks,ColumnBreaks的数目
2.若两者均为空(或则数目为0),则给出提示信息;
3.如果RowBreaks的数目为0,则打印页数等于ColumnBreaks+1;
4.如果ColumnBreaks数目为0,则打印页数等于RowBreaks+1;
5.若两者都不为0,则打印页数等于(ColumnBreaks+1)*(RowBreaks+1)
======================
结果放在一个Map里面。
代码如下(POI):

try{ //创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filePath));
HashMap sheetToPageNumMap=new HashMap();
for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {
if (null != workbook.getSheetAt(numSheets)) {
HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
String aSheetName = workbook.getSheetName(numSheets);// 获取sheet名
int[] printPageRow=(int[])aSheet.getRowBreaks();
short[] printpageCol=(short[])aSheet.getColumnBreaks();
if(printPageRow==null&&printpageCol==null){
  sheetToPageNumMap.put(aSheetName, "NO_PrintPage");
}else{
String printPage="";
if((printPageRow==null||printPageRow.length==0)&&(printpageCol.length>0)){
printPage = printpageCol.length+1+"";
sheetToPageNumMap.put(aSheetName, printPage);
}
if((printpageCol==null||printpageCol.length==0)&&printPageRow.length>0){
printPage = printPageRow.length+1+"";
sheetToPageNumMap.put(aSheetName, printPage);
}
else{
int rows=printPageRow.length;
int cols=printpageCol.length;
int num=(rows+1)*(cols+1);
printPage=num+"";
sheetToPageNumMap.put(aSheetName, printPage);
}
}
}
}
fileToPageNumMap.put(filePath, sheetToPageNumMap);
}catch(Exception e){
e.printStackTrace();
}

===================================================
有以下问题:
如果没有设置打印页,如何处理?或者说用的是Excel默认的分页符(就是一条虚线)
而getRowBreaks();getColumnBreaks() 方法只能获得实线
结果就会有问题。
该怎么办啊?
望达人赐教     不甚感激!!