랩뷰에서 엑셀 시험 성적서 만들기

    반응형

    안녕하세요. 지지비입니다.

    이번 포스팅에서는 회사에서 자동화시 많이 만들게 되는 성적서 생성에 대해서 알아보도록 하겠습니다. 아래와 같은 엑셀 파일(템플릿)에서 빨간색 박스에 있는 셀의 값을 랩뷰에서 변경하고, 저장하는 방법에 대해서 알아봅니다.

    랩뷰에서 엑셀 성적서 만들기

     

    1. 준비 사항 : Report Generation Toolkit for Microsoft Office

    랩뷰에는 Add-on으로 Report Generation Toolkit for Microsoft Office라는 툴킷이 있습니다. 이 툴킷은 회사에서 사용하려면 추가 금액을 내고 구매해야 하는 애드온입니다. 이 애드온을 사용할 수 있는 라이선스는 이전 포스팅 [LabVIEW 랩뷰/Labview 랩뷰 강의] - 랩뷰 에디션 비교 (Base/Full/Professional) 에서 다루고 있으므로, 참고해 주시기 바랍니다.

    해당 애드온이 설치되어 있는지는 NI 라이센스 관리자에서 확인할 수 있습니다. 저는 커뮤니티 에디션(무료)을 사용하고 있는데, 해당 애드온이 평가판으로 설치되어 있었습니다.

    NI 라이센스 관리자

    또는 블록 다이어그램에서 Report Generation 함수 팔레트에 MS Office Report, Word Specific, Excel Specific 함수가 있으면 사용할 수 있습니다.

    Report Generation 함수 팔레트

     

    2. 성적서 엑셀 템플릿 준비하기

    성적서를 만들기 위해서는 먼저 엑셀로 만든 템플릿이 필요합니다. 저는 간단하게 아래와 같이 템플릿을 만들어 보았습니다. 실제로는 일반적인 엑셀 파일(*.xlsx)이며, 여기서는 템플릿이라고 표현하도록 하겠습니다.

    아래 템플릿에서 빨간 박스에 있는 값을 랩뷰에서 변경해서 새로운 파일로 저장합니다. 판정결과 PASS, FAIL은 엑셀 자체의 수식을 통해서 입력되도록 합니다. 사용된 수식은 함수 입력창을 참고하시기 바랍니다.

    엑셀 템플릿

     

    3. 특정 셀의 값을 변경하기

    한 개의 셀을 변경하는 방법을 알면, 나머지 셀의 값을 변경하는 방법은 똑같은 방법이기 때문에 Serial Number를 변경하는 방법에 대해서만 자세히 설명하고, 그 이후에는 간략하게만 짚고 넘어가도록 하겠습니다. 아래 블록 다이어그램에서 순서대로 진행하면 Serial Number를 변경할 수 있습니다.

    사용된 VI는 아래와 같습니다.

    0. 함수 팔레트 - Report Generation - Create Report.vi
    1. 함수 팔레트 - Report Generation - Excel Specific - Excel Easy Text.vi (엑셀의 셀 텍스트를 변경합니다.)
    2. 함수 팔레트 - Report Generation - Excel Specific - Excel Format - Excel Set Cell Format.vi (특정 셀의 정렬 변경)
    3. 함수 팔레트 - Report Generation - Save Report to File.vi
    4. 함수 팔레트 - Report Generation - Dispose Report.vi

     

    여기서 주의해야 할 점은 엑셀은 셀의 인덱스를 1부터 시작하고, 랩뷰는 인덱스를 0부터 시작한다는 점입니다. 따라서 B3 셀의 랩뷰의 인덱스는 (2,1)입니다. 참고로 엑셀에서 병합된 셀의 위치는 맨 왼쪽 위의 셀입니다.

     

    나머지 Data, Inspector, 시험결과는 모두 같은 방법을 사용하기 때문에 아래 표시한 부분을 SubVI로 만들어서 사용하도록 하겠습니다.

     

    해당 부분을 SubVI로 만들어서, 루프를 통해 각 셀의 값을 변경하도록 바꿔 준 블록 다이어그램은 아래와 같습니다. 첫 번째 For루프에서는 Serial Number, Date, Inspector의 값을 변경합니다. 각 셀의 인덱스는 (2,1), (3,1), (4,1)이므로 행의 인덱스만 +1씩 더해주면서 해당 셀의 값을 변경합니다.

    동일하게 시험결과 셀의 값도 바꿔줍니다. 시험결과 셀의 인덱스는 (7,3), (8,3), (9,3)이므로 행의 값을 +1씩 더해주면서 해당 셀의 값을 변경해 줍니다.

     

    이렇게 코드를 작성하고 실행해 보면, 해당 엑셀 파일이 열리고 값을 수정한 후 저장되는 것을 볼 수 있습니다. 여기서 주의해야 할 것은 이 작업을 실행할 때 따로 엑셀 작업을 하면 오류가 나므로 엑셀은 쓰지 않는 것이 좋습니다.

     

    Change Cell Value and Alignment.vi
    0.02MB
    엑셀 성적서 만들기.vi
    0.02MB
    template_v1.xlsx
    0.01MB

    댓글

    Designed by JB FACTORY