Excellentable Spreadsheet for Confluence 앱으로 컨플루언스에 엑셀 파일 올리고 편집하기
컨플루언스 페이지에서 엑셀 스프레드시트를 임베딩하고 편집하는 어지간한 요구사항을 Excellentable Spreadsheet for Confluence 앱으로 만족할 수 있습니다.

1년쯤 전에 컨플루언스에 엑셀을 붙여넣는 현실적인 방법을 소개했습니다. 이 글이 지금까지 ‘컨플루언스에 엑셀을 붙여 넣는 방법’으로 여러 차례 검색되고 있다는 것을 알고 있지만 솔직히 말해 저 글은 엑셀을 컨플루언스에 붙여 넣는 방법을 소개하고 있지 않습니다. 그저 현실적으로 엑셀을 컨플루언스에 붙여 넣고 엑셀 스프레드시트처럼 다루려는 시도는 별로 좋은 아이디어가 아니며 현실적으로 컨플루언스 데이터베이스를 사용하는 것이 가장 권장되는 방법이라고 말하고 있습니다. 그래서 의도하지 않았지만 검색하신 분들을 낚고 있는 것이나 다름 없었습니다. 개인적으로는 여전히 컨플루언스에 엑셀 스프레드시트를 붙여 넣으려는 시도는 하지 않아야 한다고 생각하지만 이를 설득하는 것 보다는 정말 현실적으로 엑셀 파일을 컨플루언스에서 편안하게 다루는 방법을 소개할 필요가 있겠다 싶은 생각이 들었습니다. 그래서 이번에는 컨플루언스 클라우드, 데이터센터, 서버 버전을 모두 지원하는 Excellentable Spreadsheet for Confluence 앱을 소개합니다.
‘Excellentable Spreadsheet for Confluence’ 컨플루언스 앱은 근본적으로 엑셀 스프레드시트를 컨플루언스에서 다루게 해 주는 도구가 아닙니다. 정확히는 엑셀에 비해 훨씬 단순한 스프레드시트 기능을 웹 기반으로 제공하고 이를 컨플루언스 페이지에 포함할 수 있게 해 줍니다. 직접 빈 스프레드시트를 만들 수도 있고 또 기존 엑셀 파일을 임포트 한 다음 그 안에서 편집할 수도 있습니다. 편집한 내용은 임포트 한 엑셀 파일에 반영되지는 않지만 적당한 시점에 엑셀 파일로 익스포트 할 수는 있습니다. 만약 엑셀 파일이 형상관리도구의 제어를 받는다면 동시 편집을 위해 컨플루언스에서 ‘Excellentable Spreadsheet for Confluence’를 통해 임포트 한 다음 여러 사람의 편집을 거쳐 파일을 완성한 다음 다시 익스포트 해서 형상관리도구에 기록할 수도 있을 겁니다. 일단 엑셀 파일이 이 앱으로 임포트 되면 엑셀과 비슷하기는 하지만 근본적으로 엑셀이 아닌 환경에서 동시에 편집할 수 있고 익스포트 하면 다시 엑셀 파일을 얻을 수 있습니다.



컨플루언스에 ‘Excellentable Spreadsheet for Confluence’ 앱을 설치한 다음 매크로에서 검색해 페이지에 추가합니다. 간단히 페이지 커서에서 /excel
까지만 쳐도 매크로가 바로 나타나니 엔터 키를 눌러 추가하면 됩니다. 이미 임포트 할 엑셀 파일이 있다면 ‘Blank’를 선택해 시작하면 되고 기본적으로 제공하는 템플릿을 사용할 수도 있습니다. 일단 시험 삼아 ‘To Do List' 템플릿을 선택해 보았습니다. 이미 지라를 사용하고 있는 조직이라면 굳이 이런 스프레드시트를 컨플루언스 페이지에 추가할 필요가 없겠지만 지라에 태스크를 만들기에는 좀 번잡스럽고 또 그렇게까지 공식적이지 않은 일들을 개인적으로 관리하고 싶다면 이런 방법도 나쁘지는 않을 겁니다. 다만 컨플루언스의 체크박스 기능은 함정이다에서 설명한 대로 할일을 데이터 형태로 연동해서 보여주지 않는 환경에서 관리하면 할일을 분명 기록했지만 서로 다른 페이지에 기입 되어 있어 쉽게 놓칠 수 있는 위험이 있습니다. 이런 스프레드시트 모양으로 된 할일 목록도 마찬가지입니다. 목록을 만들 때는 이 일들을 앞으로 잘 관리할 수 있을 거라고 생각하지만 이런 서로 다른 페이지가 서너개만 생겨도 이미 관리는 어려운 상태가 되어 추천하고 싶지는 않습니다. 하지만 어쨌든 컨플루언스 페이지를 편집하던 브라우저에서 바로 스프레드시트를 만들 수 있습니다.


편집한 스프레드시트를 익스포트 하면 엑셀 파일을 받을 수 있습니다. 로컬에 설치된 엑셀로 열어보면 멀쩡한 엑셀 파일입니다. 구형 버전으로 저장하거나 엑셀 파일이 아니지만 확장자만 엑셀 형식으로 고쳐 놓은 파일이 아니라 그냥 엑셀 파일입니다. 앞서 잠깐 언급한 대로 엑셀 파일을 컨플루언스 페이지에서 동시 편집하려는 이유가 단순히 어떤 정보의 취합에 그치지 않고 결국 형상관리도구에 엑셀 파일을 커밋하려는 용도라면 컨플루언스 환경에서 스프레드시트를 편집한 다음 익스포트 해서 그대로 형상관리도구에 커밋하는 방식으로 사용할 수 있습니다. 다만 단순히 엑셀 스프레드시트를 여러 사람이 동시에 편집하는 환경이 필요한 상황이고 또 로컬에서 엑셀을 사용할 수 있다면 아마도 높은 확률로 온라인 엑셀도 사용할 수 있을 겁니다. 그렇다면 굳이 이런 컨플루언스 페이지에서 접근하는 별도의 스프레드시트 환경보다 더 나은 마이크로소프트 공식 온라인 엑셀을 사용하는 쪽을 추천하고 싶습니다. 하지만 컨플루언스 페이지에 온라인 엑셀로 이동할 링크만 덜렁 있는 것과 스프레드시트가 직접 임베딩 된 모양으로 떠 있어 즉시 편집할 수 있는 모양일 때 후자가 훨씬 더 사용자들의 적극적인 편집을 이끌어낼 수 있음을 알고 있습니다.

그러면 이번에는 로컬에서 만든 엑셀 파일을 임포트 해 보겠습니다. 엑셀을 실행하고 새 파일을 생성한 다음 스케줄 템플릿을 선택해 아무 값이나 입력해 보았습니다. 개인적인 예상으로는 첫 편집은 로컬에 설치된 엑셀을 사용하는 편이 익숙하고 또 빠르기 때문에 로컬에서 파일을 만들기 시작하는 시나리오가 더 많이 나타날 것 같습니다. 일단 한 번 만들고 난 다음 컨플루언스 페이지에 임포트 해 다른 사람들이 익숙하게 편집하는 시나리오를 생각해 보겠습니다.



엑셀 파일을 잘 가져왔습니다. 테이블 형식 뿐 아니라 상단에 이미지도 무리 없이 가져왔습니다. 병합된 셀도 무리 없이 처리할 뿐 아니라 한글 처리도 문제 없습니다. 다만 이 경우에는 로컬 엑셀에서 템플릿에 기반해 생성한 파일은 xlsm 파일이었습니다. 하지만 이 형식은 임포트 할 수 없어 xlsx 형식으로 다시 저장한 다음 임포트 할 수 있었습니다. 엑셀 파일에 VBA가 포함되어 있다면 다시 저장하는 과정에서 스크립트가 유실됩니다. 애초에 ‘Excellentable Spreadsheet for Confluence’에서 스크립트를 지원하지 않으니 처음부터 스크립트 없는 엑셀 파일을 만든다면 문제를 겪지 않을 겁니다.

스프레드시트를 저장(Ctrl + S)한 다음 컨플루언스 에디터로 돌아와 보면 이런 모양으로 나타납니다. 테이블 테마 색상이 바뀌었는데 이 상태에서 다시 편집 버튼을 눌러 돌아가 보면 테이블 테마가 이 색상으로 바뀌어 있습니다. 값이 변경되지는 않아 크리티컬한 문제라고 보기는 어렵지만 이런 의도하지 않은 동작이 일어날 수도 있다는 점을 미리 알고 있으면 깜짝 놀라지 않을 것 같습니다.


개인적으로 이런 매크로에 바라는 중요한 점 중 하나는 매크로가 자신이 편집한 파일을 어디에 저장하는가 하는 점입니다. 매크로에 따라서는 사용자에게 묻지 않고 제작사에서 운용하는 서버에 파일을 기록하고 매번 페이지를 불러오고 또 편집할 때마다 제작사 서버를 경유하기도 하는데 당장에 어떤 문제를 일으키지는 않지만 보안 상 문제를 일으킬 가능성이 있습니다. 이런 시나리오에서 개인적으로 모범 사례라고 생각하는 동작은 draw.io 매크로의 동작입니다. 이 매크로는 에디터를 제공하지만 생성한 파일은 컨플루언스 페이지의 어태치먼트에 기록합니다. 이 파일을 다시 열어 수정하고 저장할 때마다 파일 리비전이 올라갑니다. 이 동작은 앱은 에디터로써 동작할 뿐 기 결과물은 사용자의 컨플루언스 사이트를 벗어나지 않아 보안 상 조금은 더 편안한 환경을 제공합니다. 하지만 이 앱은 파일을 어디에 보관하는지 잘 모르겠습니다. 분명 앱 스스로는 버전 히스토리 기능을 제공해 이전 버전을 살펴보고 되돌릴 수 있습니다. 하지만 이 매크로를 포함한 페이지의 어태치먼트에는 제가 추가한 이미지 파일이 있을 뿐 이 매크로에서 저장한 것으로 보이는 파일은 없었습니다. 때문에 보안에 신경 써야 하는 상황이라면 이 앱 사용을 좀 더 신중하게 검토해야 합니다.
어쨌든 컨플루언스 페이지에 엑셀 스프레드시트를 올려 편집해야 하고 또 종종 익스포트 해 파일 모양으로 로컬에 저장해야 하는 상황이며 엑셀과 비슷한 어지간한 기능을 활용해야 하는 상황이라면 보안에 조금 덜 신경 쓴다는 가정 하에 ‘Excellentable Spreadsheet for Confluence’는 괜찮은 선택입니다. 앞서 컨플루언스에 엑셀을 붙여넣는 현실적인 방법에서 소개했던 앱에 비해 훨씬 더 사용하기 편리하고 엑셀 파일을 제대로 잘 다룹니다. 다만 보안 상 석연찮은 구석이 있는데 이는 컨플루언스에서 에디팅 기능을 제공하는 여러 앱이 공통으로 가지고 있는 문제로 꼭 이 앱만의 문제라고 보기는 어렵습니다. 여튼 이 방법으로 컨플루언스에 엑셀 스프레드시트를 올리고 편집할 수 있습니다.