Подсчитать количество листов в файле Excel - PullRequest
1 голос
/ 01 августа 2011

Как подсчитать количество листов в файле Microsoft Excel с помощью Java SE?

Ответы [ 5 ]

6 голосов
/ 01 августа 2011

В Java SE нет стандартных файлов классов / библиотек, которые взаимодействуют с MS Excel. В Apache POI вы можете использовать метод HSSFWorkbook.getNumberOfSheets(), который возвращает вам номер листа из книги.


Чтобы открыть файл Excel и получить HSSFWorkbook, сделайте следующее:

String fileName = "C://Excel.xls";
POIFSFileSystem fileSystem = new POIFSFileSystem(new FileInputStream(fileName));
HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);
1 голос
/ 28 декабря 2012

ИСПОЛЬЗУЙТЕ СЛЕДУЮЩИЙ КОД, ЧТОБЫ ПОЛУЧИТЬ количество листов

FileInputStream file = new FileInputStream(new File(FILE PATH));            

XSSFWorkbook workbook = new XSSFWorkbook(file);         

System.out.println("number of sheet::"+ workbook.getNumberOfSheets());
1 голос
/ 01 августа 2011

Используйте getNumberOfSheets() в классе WritableWorkbook.

Взгляните на это:

jxl.Workbook;
jxl.write.Label;
jxl.write.WritableSheet;
jxl.write.WritableWorkbook;

http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/WritableWorkbook.html

0 голосов
/ 27 сентября 2017
public int getNumberOfSheets(File)throws Exception{
 FileInputStream fileInputStream = new FileInputStream(file);
 HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
 int number_of_sheets =     workbook.getNumberOfSheets();
 return number_of_sheets
}

Выше приведен простой способ получения количества листов в рабочей книге xls

0 голосов
/ 24 сентября 2013

Вы можете использовать xlsx4j для подсчета. Это мой код:

public static void main(String[] args) throws InvalidFormatException, Docx4JException {
    SpreadsheetMLPackage spPackage = SpreadsheetMLPackage.load(new File("D:/MyFile.xlsx"));
    List<Sheet> sheetList = spPackage.getWorkbookPart().getJaxbElement().getSheets().getSheet();
    System.out.println("Number of worksheet: "+ sheetList.size());
    System.out.println("Sheet name: ");
    for (Sheet sheet : sheetList) {
        System.out.println(sheet.getName());
    }
...