VB.NET으로 대용량 엑셀파일 읽기 (2/3)
2023. 9. 4. 12:39ㆍVB.NET/왕초보
지난 강좌에서는 엑셀파일을 여는 방법에 대해서 알아봤다. 지난 강좌를 보시려면 아래 링크를 클릭해서 확인해보자.
이번에는 엑셀파일을 닫는 방법을 먼저 알아보자. 어떤 형식의 파일이든 사용을 위해 열었으면 반드시 닫아주어야 한다. 그렇지 않으면 메모리에 쓰레기가 남아서 재부팅할때까지 무쓸모로 메모리 공간을 차지하고 있을 수 있다.
강좌는 지난번의 클래스 생성에 이어서 작성하도록 하겠다.
(4) 엑셀파일 닫기
열린 엑셀파일을 닫기 위해서는 WorkSheet, WorkBook, Application을 순차적으로 닫아줘야 한다. 아래 CloseFile 함수를 확인해보자.
Public Function CloseFile() As Boolean
Dim lpRet As Boolean = True
If Application Is Nothing Then Return lpRet
Try
WorkBook.Close(False)
Application.Quit()
ReleaseExcelObject(WorkSheet)
ReleaseExcelObject(WorkBook)
ReleaseExcelObject(Application)
Catch ex As Exception
lpRet = False
Finally
WorkSheet = Nothing
WorkBook = Nothing
Application = Nothing
End Try
Return lpRet
End Function
소스는 모두 엑셀을 닫는다. 닫고, 비워주는 역할이다. 아래 ReleaseExcelObject 프로시저도 함께 살펴보자.
Private Sub ReleaseExcelObject(ByVal obj As Object)
Try
If obj IsNot Nothing Then
Marshal.ReleaseComObject(obj)
obj = Nothing
End If
Catch ex As Exception
obj = Nothing
Throw ex
Finally
GC.Collect()
End Try
End Sub
메모리에서 완전히 지워야 깔끔하다. ReleaseComObject로 메모리에서도 완전히 지워주자.
이번 강좌에서는 열린 엑셀을 닫는 방법에 대해 알아봤다. 다음번에는 이 엑셀에서 데이터를 가져와서 사용하는 방법에 대해 알아보도록 하자.
반응형
'VB.NET > 왕초보' 카테고리의 다른 글
VB.NET 문자열 연산, 문자열과 숫자 합치기 쉬운 방법 (0) | 2024.02.06 |
---|---|
VB.NET으로 대용량 엑셀파일 읽기 (3/3) (2) | 2024.01.26 |
VB.NET으로 대용량 엑셀파일 읽기 (1/3) (0) | 2023.09.02 |
VB.NET 한글과 영어 구분하기 - 한영 확인 (0) | 2023.06.21 |
VB.NET에서 LINQ 쿼리 사용하기 (0) | 2023.04.24 |