簡體   English   中英

是否可以從同一個 xlsx 文件中的不同工作表讀取數據?

[英]Is it possible to read the data from different sheets in a same xlsx file?

我正在使用 Apache POI 讀取 xlsx 文件。 我可以讀取 Sheet1 數據。 但是當嘗試讀取 Sheet2 時,我只獲取 Sheet1 數據。

String strPath = "..\\Test.xlsx";
        File excelFile = new File(strPath);
        FileInputStream fis = new FileInputStream(excelFile);

        // we create an XSSF Workbook object for our XLSX Excel File
        XSSFWorkbook workbook = new XSSFWorkbook(fis);


        Sheet sheet1= workbook.getSheetAt(0);
        Sheet sheet2= workbook.getSheetAt(1);

這是如何使用 apache POI https://www.callicoder.com/java-read-excel-file-apache-poi/

這是他們在不同工作表上迭代的部分

    // 1. You can obtain a sheetIterator and iterate over it
    Iterator<Sheet> sheetIterator = workbook.sheetIterator();
    System.out.println("Retrieving Sheets using Iterator");
    while (sheetIterator.hasNext()) {
        Sheet sheet = sheetIterator.next();
        System.out.println("=> " + sheet.getSheetName());
    }

當您調用getSheetAt(i) ,它返回一個XSSFSheet對象,該對象實現了org.apache.poi.ss.usermodel下的Sheet接口。 考慮下面的代碼塊:

XSSFSheet sheet = workbook.getSheetAt(0);
System.out.println(sheet.getRow(0).getCell(0).getStringCellValue());
sheet = workbook.getSheetAt(1);
System.out.println(sheet.getRow(0).getCell(0).getStringCellValue());

上面的代碼應該打印文檔上前兩張表的單元格 A1 的內容。 我自己用一個測試文件完成了它,它起作用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM