以下範例展示

1.如何取得Excel 所有的Sheet and Name

2.取得Excel 的Row and Column

3.取得每一個Sheet中的內容

4.搜尋每一個Sheet中,是否含有相同的字串

ReadExcelAPI.java
package tw.com.haoxiao.excel.read;

import java.io.File;
import java.util.Arrays;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class ReadExcelAPI {
  // 檔案目錄
  private static String excelURL = "C:/ExcelTest.xls";
  // 搜尋的字串
  private static String searchString = "Apple";
 
  public static void main(String[] args)throws Exception {
    // 宣告File指向Excel的路徑
    File excelFile = new File(excelURL);
   
    // 透過 Workbook.getWorkbook 取得Excel
    Workbook workbook = Workbook.getWorkbook(excelFile);
   
    // 取得Excel 所有的Sheet Name
    System.out.println("======Sheet Name======");
    String[] sheetsByName = workbook.getSheetNames();
    System.out.println(Arrays.asList(sheetsByName));

    // 取得Excel 所有的Sheet
    System.out.println("======Sheet Name======");
    Sheet[] sheets = workbook.getSheets();
    for(int sheetIndex = 0; sheetIndex < sheets.length; sheetIndex++) {
      System.out.println("Index " + sheetIndex + " : " + sheets[sheetIndex].getName());
    }
   
    // 取得Rows and Columns 長度
    for(int sheetIndex = 0; sheetIndex < sheets.length; sheetIndex++) {
      int cols = sheets[sheetIndex].getColumns();
      int rows = sheets[sheetIndex].getRows();
      System.out.println("======" + sheets[sheetIndex].getName() + "======");
      System.out.println("Rows : " + rows);
      System.out.println("Cols : " + cols);
    }
   
    // 取得每一個Sheet的表格內容
    for(int sheetIndex = 0; sheetIndex < sheets.length; sheetIndex++) {
      int cols = sheets[sheetIndex].getColumns();
      int rows = sheets[sheetIndex].getRows();
      System.out.println("======" + sheets[sheetIndex].getName() + "======");
      for(int y = 0; y < rows; y++) {
        for(int x = 0; x < cols; x++) {
          System.out.print(sheets[sheetIndex].getCell(x, y).getContents() + "\t");
        }
        System.out.println();
      }
    }
   
    // 尋找 Cell的內容
    System.out.println("======搜尋======");
    for(int sheetIndex = 0; sheetIndex < sheets.length; sheetIndex++) {
      Sheet sheet = sheets[sheetIndex];
      Cell searchCell = sheet.findCell(searchString);
      if(searchCell != null) {
        System.out.println("找到" + searchString + "在" + sheet.getName()
            + "的(" + searchCell.getColumn() + ","
            + searchCell.getRow() + ")");
      }
    }
   
    // 關閉
    workbook.close();
  }
}

0 意見: