HOWTO · PowerShell

PowerShell에서 Excel 시트 데이터를 읽는 방법

이 문서에서는 COM 개체 사용, Import-Excel 모듈 사용 등 PowerShell에서 Excel 시트 데이터를 읽는 방법을 설명합니다. Excel 통합 문서에서 데이터 읽기를 자동화하고 워크플로를 효율적으로 간소화하는 방법을 알아보세요.

이 페이지의 내용

오늘날의 데이터 중심 세상에서 Excel 시트 데이터를 효율적으로 읽고 조작하는 능력은 많은 전문가에게 필수적입니다. 강력한 스크립팅 언어인 PowerShell은 Excel 통합 문서에서 데이터를 읽는 것을 포함해 작업을 자동화하는 효과적인 방법을 제공합니다. 보고서를 관리하든, 데이터 세트를 분석하든, 단순히 워크플로를 간소화하려 하든, Excel에 PowerShell을 활용하는 방법을 알면 시간과 노력을 절약할 수 있습니다.

이 문서에서는 PowerShell을 사용해 Excel 시트 데이터를 읽는 기본 사항을 실용적인 예제와 명확한 설명과 함께 살펴보겠습니다. 시작해 보겠습니다!

방법 1: COM 개체를 사용해 Excel 데이터 읽기

PowerShell에서 Excel 데이터를 읽는 가장 간단한 방법 중 하나는 COM 개체를 사용하는 것입니다. 이 접근 방식을 사용하면 Excel과 직접 상호 작용할 수 있어 통합 문서를 열고, 셀 값을 읽고, 필요하면 데이터를 조작할 수도 있습니다.

Excel 파일에서 데이터를 읽는 간단한 예제는 다음과 같습니다.

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Open("C:\path\to\your\file.xlsx")
$sheet = $workbook.Sheets.Item(1)

$data = $sheet.Cells.Item(1, 1).Value()
$excel.Quit()

$data

출력:

Your data from the first cell

이 스크립트에서는 COM 개체를 사용해 Excel 애플리케이션의 새 인스턴스를 만듭니다. 그런 다음 지정한 Excel 파일을 열고 첫 번째 시트에 접근합니다. Cells.Item(1, 1).Value() 메서드는 첫 번째 셀(A1)의 값을 가져옵니다. 데이터를 가져온 뒤에는 리소스를 확보하기 위해 Excel 애플리케이션을 반드시 종료합니다. 이 방법은 빠른 데이터 조회 작업에 특히 유용하지만, 컴퓨터에 Excel이 설치되어 있어야 한다는 점에 유의하세요.

방법 2: Import-Excel 모듈 사용

보다 사용하기 쉬운 접근 방식을 선호한다면 Import-Excel 모듈이 훌륭한 대안이 됩니다. 이 방법은 COM 개체와 직접 상호 작용할 필요 없이 Excel 데이터를 읽는 과정을 단순화합니다.

먼저 아직 설치하지 않았다면 Import-Excel 모듈을 설치해야 합니다.

Install-Module -Name ImportExcel

설치가 끝나면 다음 명령으로 Excel 파일에서 데이터를 쉽게 읽을 수 있습니다.

$data = Import-Excel -Path "C:\path\to\your\file.xlsx"
$data

출력:

Name    Age
----    ---
Alice   30
Bob     25

이 예제에서는 Import-Excel 명령을 사용해 지정한 Excel 파일의 전체 내용을 읽습니다. 결과는 자동으로 PowerShell 개체로 서식이 지정되므로 데이터에 쉽게 접근하고 조작할 수 있습니다. 표준 PowerShell 명령을 사용해 이 데이터를 필터링, 정렬, 분석할 수 있어, 더 큰 데이터 세트를 처리할 때 이 방법이 매우 효율적입니다. 이 접근 방식은 Excel의 COM 개체에 익숙하지 않지만 Excel 데이터를 정기적으로 다뤄야 하는 사용자에게 특히 유용합니다.

방법 3: Excel에서 특정 범위 읽기

때로는 전체 데이터 세트가 아니라 Excel 시트의 특정 범위만 읽고 싶을 수 있습니다. Range 속성을 사용하면 특정 셀이나 범위를 지정해 필요한 데이터만 가져올 수 있습니다.

방법은 다음과 같습니다.

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Open("C:\path\to\your\file.xlsx")
$sheet = $workbook.Sheets.Item(1)

$range = $sheet.Range("A1:B2").Value()
$excel.Quit()

$range

출력:

Name    Age
----    ---
Alice   30
Bob     25

이 스크립트에서는 Range 속성을 사용해 읽으려는 셀 범위를 지정합니다. 이 경우 셀 A1부터 B2까지의 데이터를 가져옵니다. 출력에는 지정한 범위만 포함되며, 이는 데이터의 일부만 필요한 큰 스프레드시트로 작업할 때 특히 유용합니다. 앞선 방법들과 마찬가지로, Excel이 백그라운드에서 계속 실행되지 않도록 Excel 애플리케이션을 종료하는 것을 잊지 마세요.

결론

PowerShell에서 Excel 시트 데이터를 읽으면 생산성을 크게 높이고 워크플로를 간소화할 수 있습니다. 직접 상호 작용을 위한 COM 개체를 선택하든, 더 간단한 접근 방식을 위한 Import-Excel 모듈을 선택하든, PowerShell은 Excel 데이터를 관리할 수 있는 다양한 옵션을 제공합니다. 이러한 기술을 익히면 반복적인 작업을 자동화하고, 데이터 세트를 효율적으로 분석하며, 데이터 기반 의사 결정을 손쉽게 내릴 수 있습니다. 오늘부터 이 방법들을 직접 시험해 보고, 데이터 관리를 위한 PowerShell의 잠재력을 최대한 활용해 보세요.

FAQ

  1. PowerShell을 사용해 Excel에 데이터를 쓸 수 있나요?
    예, COM 개체와 Import-Excel 모듈의 Export-Excel 명령을 모두 사용해 Excel에 데이터를 쓸 수 있습니다.

  2. PowerShell로 Excel 파일을 읽으려면 Excel이 설치되어 있어야 하나요?
    예, COM 개체를 사용하는 경우 컴퓨터에 Excel이 설치되어 있어야 합니다. 하지만 Import-Excel 모듈은 Excel이 설치되어 있지 않아도 됩니다.

  3. PowerShell은 어떤 버전의 Excel을 지원하나요?
    PowerShell은 COM 자동화를 지원하는 모든 버전의 Excel과 상호 작용할 수 있으며, 일반적으로 Excel 2007 이상이 해당합니다.

  4. Import-Excel 모듈은 모든 버전의 PowerShell에서 사용할 수 있나요?
    Import-Excel 모듈은 Windows PowerShell 5.1 및 PowerShell Core와 호환됩니다.

  5. PowerShell을 사용해 SharePoint에서 Excel 파일을 읽을 수 있나요?
    예, SharePoint API에 접근하거나 SharePoint PnP PowerShell 모듈을 사용하면 SharePoint에 저장된 Excel 파일을 PowerShell로 읽을 수 있습니다.