본문 바로가기
카테고리 없음

시트 데이터를 문서 템플릿에 병합해 거래명세서와 라벨을 일괄 생성하는 방법

by 시트자동화 2025. 9. 7.
반복적으로 작성해야 하는 거래명세서, 라벨, 계약서 등은 수작업으로 일일이 작성하면 시간이 오래 걸리고 오류가 생기기 쉽습니다. 구글 스프레드시트와 구글 문서 템플릿을 연동하면 데이터를 자동으로 병합해 여러 문서를 한 번에 생성할 수 있습니다. 이 글에서는 시트 데이터를 문서 템플릿에 매핑해 거래명세서나 라벨을 자동 생성하는 방법과 실제 업무 적용 사례를 소개합니다.

서론

업무 환경에서 가장 자주 반복되는 작업 중 하나가 문서 작성입니다. 특히 거래명세서, 라벨, 영수증, 견적서 같은 문서는 기본 구조는 동일하지만 내용만 고객이나 제품에 따라 달라집니다. 이 경우 매번 복사해 붙여넣는 방식으로 문서를 만들면 시간이 오래 걸릴 뿐 아니라, 작은 오타나 누락으로 신뢰도가 떨어질 수 있습니다. 이런 문제를 해결할 수 있는 방법이 바로 ‘시트 데이터 병합’입니다. 구글 스프레드시트에 고객 정보, 제품명, 단가, 수량 등 데이터를 정리해 두고, 이를 미리 준비한 구글 문서 템플릿과 결합하면 자동으로 개별 문서가 생성됩니다. 일명 '메일 머지(Mail Merge)' 기법을 활용하는 것으로, 문서 작성의 효율성과 정확성을 크게 높일 수 있습니다.

본론

첫 번째 단계는 데이터 준비입니다. 구글 스프레드시트에 거래명세서 생성에 필요한 데이터 열을 만듭니다. 예를 들어 '고객명', '주소', '제품명', '단가', '수량', '합계' 같은 항목을 열로 두고, 각 행에는 거래 건별 데이터를 입력합니다. 라벨을 만들 경우에는 '제품명', '코드', '바코드번호' 등을 입력할 수 있습니다.

두 번째 단계는 문서 템플릿 작성입니다. 구글 문서에서 거래명세서나 라벨 형식을 미리 디자인하고, 변수가 들어갈 자리에 머지 태그를 삽입합니다. 예를 들어 {{고객명}}, {{제품명}}, {{합계}}와 같은 형식으로 표기합니다. 이렇게 하면 나중에 Apps Script가 시트 데이터를 불러와 자동으로 치환합니다.

세 번째 단계는 Apps Script를 활용한 자동화입니다. 스프레드시트 메뉴에서 ‘확장 프로그램 → 앱스 스크립트’를 열고, 다음과 같은 코드를 작성합니다.

function createDocs() {
  var templateId = "템플릿문서ID";
  var folderId = "저장폴더ID";
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    var row = data[i];
    var copy = DriveApp.getFileById(templateId).makeCopy("거래명세서_" + row[0], DriveApp.getFolderById(folderId));
    var doc = DocumentApp.openById(copy.getId());
    var body = doc.getBody();
    body.replaceText("{{고객명}}", row[0]);
    body.replaceText("{{제품명}}", row[1]);
    body.replaceText("{{수량}}", row[2]);
    body.replaceText("{{합계}}", row[3]);
    doc.saveAndClose();
  }
}

위 코드는 스프레드시트의 각 행 데이터를 읽어 템플릿 문서에 치환하고, 지정된 폴더에 개별 문서를 생성하는 예시입니다. 이 방식으로 수십 개의 거래명세서를 한 번에 만들어낼 수 있습니다. 라벨 생성도 동일한 원리로, 바코드 번호나 제품명을 치환하면 됩니다.

실무에서는 이 기능을 활용해 정기적으로 발송되는 계약서, 청구서, 고객 안내문 등을 자동화할 수 있습니다. 예를 들어 매달 수백 명의 고객에게 발송되는 거래명세서를 버튼 클릭 한 번으로 생성하면, 인력과 시간을 크게 절약할 수 있습니다. 또한 문서 생성 기록을 시트에 다시 남기도록 확장하면, 언제 어떤 문서가 생성되었는지 추적 관리도 가능합니다.

결론

시트 데이터를 문서 템플릿에 병합하는 방식은 단순 반복 작업을 자동화하여 효율성을 높이고, 오류를 줄이며, 문서의 일관성을 유지하는 데 매우 효과적입니다. 거래명세서, 라벨, 계약서, 안내문 등 반복 문서 작성에 특히 유용하며, 구글 Apps Script와 문서 템플릿을 활용하면 누구나 손쉽게 구현할 수 있습니다. 앞으로 반복되는 문서 작성 업무에 시간을 낭비하지 말고, 자동화된 문서 생성 방식을 도입해 생산성을 높여 보시기 바랍니다.