Java를 사용하여 Excel 파일의 데이터 읽기

MS Excel 파일은 주로 표 형식의 데이터를 워크시트 형태로 유지하는 데 사용됩니다. 종종 거대한 데이터 세트는 Excel 파일로도 유지됩니다. 따라서 Excel 파일의 워크시트에서 데이터를 읽고 가져와야 하는 시나리오를 접할 수 있습니다. 이를 달성하기 위해 이 기사에서는 Java에서 Excel 파일을 읽는 방법을 보여줍니다. 전체 Excel 파일 또는 단일 워크시트만 프로그래밍 방식으로 읽는 방법을 보여줍니다.

Excel 파일을 읽는 Java 라이브러리

워크시트에서 데이터를 읽으려면 Aspose.Cells for Java를 사용합니다. Excel 파일을 처음부터 생성하는 스프레드시트 조작 API입니다. 또한 기존 Excel 파일을 아주 쉽게 읽고 조작할 수 있습니다. API는 다운로드 섹션에서 다운로드하거나 pom.xml에 다음 Maven 구성을 추가하여 설치할 수 있습니다.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.11</version>
</dependency>

Java에서 Excel 파일 읽기

Excel 파일에서 데이터는 각 셀이 이름(A1, B3 등) 또는 행 및 열 인덱스로 식별되는 셀에 저장됩니다. 이러한 셀은 집합적으로 워크시트를 형성하며 Excel 파일은 단일 또는 여러 워크시트로 구성됩니다. 모든 워크시트는 통합 문서에 포함되어 있습니다. 엑셀 파일의 구조에 대한 간략한 개요였습니다. 이제 Excel 파일에서 데이터 읽기를 진행해 보겠습니다.

다음은 Java를 사용하여 Excel 파일을 읽고 데이터를 인쇄하는 단계입니다.

  • Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
  • WorksheetCollection 클래스의 객체를 생성하고 Workbook.getWorksheets() 메소드를 사용하여 워크시트의 참조를 얻습니다.
  • 루프를 시작하여 컬렉션의 모든 워크시트를 탐색하고 각 반복에서 다음 단계를 수행합니다.
    • Worksheet 개체에서 워크시트의 참조를 가져옵니다.
    • 워크시트의 데이터 행과 열 수를 가져옵니다.
    • 행에 대한 루프를 시작합니다.
    • 열에 대해 중첩 루프를 시작합니다.
    • Worksheet.getCells().get(rowIndex, columnIndex).getValue() 메서드를 사용하여 각 셀에서 데이터를 읽습니다.

다음 코드 샘플은 Java에서 Excel 파일을 읽는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook wb = new Workbook("workbook.xlsx");

// 모든 워크시트 가져오기
WorksheetCollection collection = wb.getWorksheets();

// 모든 워크시트 반복
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {

  // 인덱스를 사용하여 워크시트 가져오기
  Worksheet worksheet = collection.get(worksheetIndex);

  // 워크시트 이름 인쇄
  System.out.print("Worksheet: " + worksheet.getName());

  // 행과 열의 수 얻기
  int rows = worksheet.getCells().getMaxDataRow();
  int cols = worksheet.getCells().getMaxDataColumn();

  // 행 반복
  for (int i = 0; i < rows; i++) {

    // 선택한 행의 각 열 반복
    for (int j = 0; j < cols; j++) {
        // 프링 셀 값
	System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
    }
    // 줄바꿈 인쇄
    System.out.println(" ");
  }
}

다음은 위의 코드 샘플을 실행한 후 콘솔에 표시되는 출력입니다.

Java에서 Excel 파일의 워크시트에서 데이터 읽기

자바에서 엑셀 파일 읽기

Java의 Excel에서 특정 워크시트 읽기

아래 단계에 따라 Excel 파일에서 특정 워크시트만 읽을 수도 있습니다.

다음 코드 샘플은 Java의 특정 워크시트에서 데이터를 읽는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook wb = new Workbook("workbook.xlsx");

// 워크시트 참조 가져오기
Worksheet worksheet = wb.getWorksheets().get(0);

// 행 및 열 수 가져오기
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();

// 행 반복
for (int i = 0; i < rows; i++) {

  // 선택한 행의 각 열 반복
  for (int j = 0; j < cols; j++) {

    // 셀 값 인쇄
    System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");

  }
  // 줄바꿈 인쇄
  System.out.println(" ");
}

무료 API 라이선스 받기

임시 무료 라이선스를 얻으면 평가 제한 없이 Java용 Aspose.Cells를 사용할 수 있습니다.

결론

이 기사에서는 Java에서 Excel 파일을 동적으로 읽는 방법을 배웠습니다. 코드 샘플을 통해 Excel 통합 문서의 특정 워크시트 또는 모든 워크시트에서 데이터를 읽는 방법을 살펴보았습니다. 또한 문서를 사용하여 Java용 Aspose.Cells의 다른 기능을 탐색할 수 있습니다. 질문이 있는 경우 포럼을 통해 언제든지 알려주십시오.

또한보십시오