Java를 사용하여 Excel에서 빈 행 및 열 삭제

프로그래밍 방식으로 Excel 워크시트에서 빈 행과 열을 쉽게 제거할 수 있습니다. 이 기사에서는 Java를 사용하여 Excel에서 빈 행과 열을 삭제하는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

Excel에서 빈 행과 열을 삭제하는 Java API

XLSX 파일에서 빈 행과 열을 제거하기 위해 Aspose.Cells for Java API를 사용합니다. API의 JAR을 다운로드하거나 Maven 기반 Java 애플리케이션에 다음 pom.xml 구성을 추가하십시오.

<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 워크시트에서 빈 행을 삭제할 수 있습니다.

  • 먼저 Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
  • 다음으로 Workbook.getWorksheets() 메서드를 호출하여 WorksheetCollection 객체에서 워크시트를 가져옵니다.
  • 그런 다음 인덱스(0부터 시작) 또는 이름으로 빈 행이 있는 워크시트에 액세스합니다.
  • 그런 다음 Cells.deleteBlankRows() 메서드를 호출하여 액세스한 워크시트에서 빈 행을 삭제합니다.
  • 마지막으로 출력 파일 경로와 함께 save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 샘플 코드는 Java를 사용하여 Excel에서 빈 행을 제거하는 방법을 보여줍니다.

// 기존 엑셀 파일을 불러옵니다.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// 스프레드시트에서 워크시트 컬렉션을 가져옵니다.
WorksheetCollection sheets = workbook.getWorksheets();

// 인덱스별로 WorksheetCollection에서 첫 번째 Worksheet를 가져옵니다.
Worksheet sheet = sheets.get(0);
// 또는 이름으로.
// 워크시트 시트 = sheets.get("Sheet1");

// 워크시트에서 빈 행을 삭제합니다.
sheet.getCells().deleteBlankRows();

// 업데이트된 엑셀 파일을 저장합니다.
workbook.save("C:\\Files\\Cells\\output.xlsx");
Java를 사용하여 Excel에서 빈 행 삭제

Java를 사용하여 Excel에서 빈 행 삭제

마찬가지로 Excel 문서의 모든 워크시트에서 빈 행을 삭제할 수 있습니다. 다음 코드 예제와 같이 WorksheetCollection을 반복하고 각 워크시트에서 deleteBlankRows() 메서드를 호출하기만 하면 됩니다.

// 기존 엑셀 파일을 엽니다.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// 워크시트 컬렉션 가져오기
WorksheetCollection worksheets = workbook.getWorksheets();

// 워크시트를 반복합니다.
for (int i=0; i<worksheets.getCount(); i++)
{
    // 워크시트에 하나씩 액세스
    Worksheet sheet = worksheets.get(i);
  
    // 워크시트에서 빈 행을 삭제합니다.
    sheet.getCells().deleteBlankRows();
}

// 업데이트된 엑셀 파일을 저장합니다.
workbook.save("C:\\Files\\Cells\\output.xlsx");

Java를 사용하여 Excel에서 빈 열 삭제

아래 단계에 따라 프로그래밍 방식으로 Excel 워크시트에서 빈 열을 삭제할 수 있습니다.

  • 먼저 Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
  • 다음으로 Workbook.getWorksheets() 메서드를 호출하여 WorksheetCollection 객체에서 워크시트를 가져옵니다.
  • 그런 다음 인덱스(0부터 시작) 또는 이름으로 빈 열이 있는 워크시트에 액세스합니다.
  • 그런 다음 Cells.deleteBlankColumns() 메서드를 호출하여 액세스한 워크시트에서 빈 열을 삭제합니다.
  • 마지막으로 출력 파일 경로와 함께 save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 샘플 코드는 Java를 사용하여 Excel에서 빈 열을 제거하는 방법을 보여줍니다.

// 기존 엑셀 파일을 엽니다.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// 스프레드시트에서 워크시트 컬렉션을 가져옵니다.
WorksheetCollection sheets = workbook.getWorksheets();

// 인덱스별로 WorksheetCollection에서 첫 번째 Worksheet를 가져옵니다.
Worksheet sheet = sheets.get(2);

// 빈 열을 삭제합니다.
sheet.getCells().deleteBlankColumns(options);

// 업데이트된 엑셀 파일을 저장합니다.
workbook.save("C:\\Files\\Cells\\output_DeleteBlankColumns.xlsx");	
Java를 사용하여 Excel에서 빈 열 삭제

Java를 사용하여 Excel에서 빈 열 삭제

빈 행과 열을 삭제하는 동안 자동으로 참조 업데이트

빈 행이나 열을 삭제하면 공식, 차트 및 표의 참조가 손상될 수 있습니다. 예를 들어 Sheet2의 A1 셀에는 다음 그림과 같이 첫 번째 워크시트의 C7 셀을 참조하는 =Sheet1!C7 수식이 있습니다.

Sheet2의 A1 셀은 Sheet1의 C7 셀 값을 참조합니다.

Sheet2의 A1 셀은 Sheet1의 C7 셀 값을 참조합니다.

Sheet1에서 빈 행을 제거하면 C7(650000) 값이 C6 셀로 이동합니다. 그러나 수식(=Sheet1!C7)은 업데이트되지 않으며 셀 A1에는 이 경우 550000이 되는 C7 값이 표시됩니다. DeleteOptions.setUpdateReference를 true로 설정하면 이 문제를 피할 수 있습니다. 빈 행을 삭제하는 동안 참조가 업데이트되도록 합니다.

아래 단계에 따라 프로그래밍 방식으로 Excel 워크시트에서 빈 행을 삭제하는 동안 참조를 자동으로 업데이트할 수 있습니다.

  • 먼저 Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
  • 다음으로 Workbook.getWorksheets() 메서드를 호출하여 WorksheetCollection 객체에서 워크시트를 가져옵니다.
  • 그런 다음 인덱스(0부터 시작) 또는 빈 행이 있는 이름으로 워크시트에 액세스합니다.
  • 다음으로 DeleteOptions 클래스의 인스턴스를 만듭니다.
  • 그런 다음 setUpdateReferences()을 true로 호출합니다. 빈 행을 삭제하는 동안 다른 시트의 참조를 업데이트합니다.
  • 그런 다음 DeleteOptions 개체를 인수로 사용하여 Cells.deleteBlankRows() 메서드를 호출하여 액세스한 워크시트에서 빈 행을 삭제합니다.
  • 마지막으로 출력 파일 경로와 함께 save() 메서드를 호출하여 출력 파일을 저장합니다.

다음 샘플 코드는 Excel에서 빈 행을 삭제하는 동안 참조를 업데이트하는 방법을 보여줍니다.

// 기존 엑셀 파일을 엽니다.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// 스프레드시트에서 워크시트 컬렉션을 가져옵니다.
WorksheetCollection sheets = workbook.getWorksheets();

// 인덱스별로 WorksheetCollection에서 첫 번째 Worksheet를 가져옵니다.
Worksheet sheet = sheets.get(0);

// 이 옵션은 참조(공식, 차트)를 보장합니다.
// 빈 행을 삭제하는 동안 업데이트됩니다.
DeleteOptions options = new DeleteOptions();
options.setUpdateReference(true);

// 워크시트에서 빈 행을 삭제합니다.
sheet.getCells().deleteBlankRows(options);

// 업데이트된 엑셀 파일을 저장합니다.
workbook.save("C:\\Files\\Cells\\output_UpdateReferencesAutomatically.xlsx");

마찬가지로 Excel에서 빈 열을 삭제하면서 참조를 업데이트할 수 있습니다. 그러나 DeleteOptions를 인수로 사용하여 deleteBlankColumns() 메서드를 호출하기만 하면 됩니다.

무료 라이선스 받기

임시 무료 라이선스를 신청하여 평가 제한 없이 API를 사용해 보세요.

결론

이 기사에서는 Java를 사용하여 Excel에서 행과 열을 삭제하는 방법을 배웠습니다. 또한 프로그래밍 방식으로 행과 열을 삭제하면서 참조를 업데이트하는 방법도 살펴보았습니다. 또한 문서를 사용하여 Aspose.Cells for Java API에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼에서 언제든지 문의해 주십시오.

또한보십시오