반응형

* VBNET Excel File Print (엑셀 파일 프린트) 예제...

 

 

- 인쇄할 엑셀 파일 추가 하기...

(Excel File 추가하는 것은 C# 과 VBNET 이 다를게 없으므로 기존 C# 에 작성된 그림을 가져옴)

프로젝트 클릭 -> 마우스 오른쪽 클릭 -> 추가 -> 기존 항목 선택

위 그림과 같이 모든 파일 선택 합니다. 기본 Visual VB 파일만 열리게 되어 있는데 모든 파일을 선택 하여 프로젝트에 인쇄할 엑셀 파일을 추가 해 줍니다.

 

예제를 위해 만들어 둔 엑셀 파일을 프로젝트에 추가 해서 위 그림과 같이 출력 디렉터리로 복사 => 항상 복사

로 두면 빌드 시 Print.xls 파일도 같이 따라 오게 됩니다. 혹 참조에 추가된 DLL 파일 또한 출력 디렉터리로 복사를

항상 복사로 해 두시면 빌드 시 해당 DLL 파일도 같이 EXE 파일이 만들어 지는 곳으로 따라 오게 됩니다.

엑셀 파일 내용

 

전체 소스 코드

Form1.vb

 

Imports System.IO
Imports Excel = Microsoft.Office.Interop.Excel

Public Class Form1

    '빌드 후 EXE 파일이 생성 되는 곳
    Dim strLocalPath As String = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\"))

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click

        '엑셀 사용을 위한 변수...
        Dim ExcelApp As Excel.Application = Nothing
        Dim wb As Excel.Workbook = Nothing
        Dim ws As Excel.Worksheet = Nothing

        Dim strExcelFile = strLocalPath + "\Print.xls"

        Try
            '해당 엑셀 파일이 존재 하지 않는 다면...
            If Not File.Exists(strExcelFile) Then
                Return
            End If

            ExcelApp = New Excel.Application()

            '엑셀 파일 오픈...
            wb = ExcelApp.Workbooks.Open(strExcelFile)

            '첫번째 시트 사용
            ws = CType(wb.Worksheets("Sheet1"), Excel.Worksheet)

            'col 1 : A 열 부터 시작
            ws.Cells(3, 3) = "12345"                            '번호
            ws.Cells(3, 7) = "테스트"                           '이름

            ws.Cells(6, 2) = Date.Now.ToString("yyyy-MM-dd")    '날짜
            ws.Cells(6, 6) = Date.Now.ToString("HH:mm:ss")      '시간

            ws.Cells(10, 2) = "항목1"
            ws.Cells(11, 2) = "항목2"
            ws.Cells(12, 2) = "항목3"
            ws.Cells(13, 2) = "항목4"
            ws.Cells(14, 2) = "항목5"

            '엑셀 내용 프린트 미리보기...
            ExcelApp.Visible = True
            ExcelApp.Sheets.PrintPreview(True)

            '엑셀 파일 닫기...
            wb.Close(False, Excel.XlFileFormat.xlWorkbookNormal)
            ExcelApp.Quit()


        Catch ex As Exception
            '객체 메모리 해제...
            ReleaseObject(ws)
            ReleaseObject(wb)
            ReleaseObject(ExcelApp)
            GC.Collect()

        Finally
            ReleaseObject(ws)
            ReleaseObject(wb)
            ReleaseObject(ExcelApp)
            GC.Collect()
        End Try


    End Sub

    Private Shared Sub ReleaseObject(ByVal obj As Object)

        Try
            If Not obj Is Nothing Then
                Runtime.InteropServices.Marshal.ReleaseComObject(obj)
                obj = Nothing
            End If
        Catch
            obj = Nothing
        Finally
            GC.Collect()
        End Try

    End Sub


End Class

 

 

*예제 결과

 

위 그림 처럼 작업 관리자에 EXCEL.EXE  프로세스가 올라가게 되면서 엑셀 파일 프린트가 시작 됩니다.

 

기본 프린터로 연결됨.

 

기본 프린터에 해당 엑셀 파일 내용이 프린트 되며, 프린트 후 작업 관리자를 열어서 확인 해 보시면 EXCEL.EXE 프로세

스가 해제 되어 종료 되어 있는 것을 볼 수 있습니다.

 

https://kdsoft-zeros.tistory.com/36

 

[VBNET] Excel File Read & Write 예제

* VBNET 엑셀 파일 예제... - 참조 추가 소스 구현을 하기에 앞서 미리 엑셀 파일을 열어 D:\통합 문서.xls 로 샘플로 하나 저장 해 놓았습니다. 샘플로 파일 하나 만들고 위치는 어디에 있던 상관 없습니다. Fo..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts