반응형

대사시스템을 가장한 정산시스템

Excel-file handling

 

프로젝트를 하다보면 파일을 업로드/다운로드하여 처리해야 할 때가 있다.

이번 프로젝트에서도 파일을 올려 처리하는 기능이 있다.

기 운영시스템에서는 CSV파일을 이용하여 처리하고 있었는데

이를 Excel-file도 가능하게 해 달라는 요청이었다.

 

처음에는 '엑셀파일도 되었으면 좋겠다'라고 해서

반영여부를 기술검토 후 진행하겠다고 얘기를 했다.

또한, 현재 일정상 급한 것들이 처리되면 검토하는 것으로...

 

확인결과 솔루션에서 지원하지 않는 파일형태였고

기 운영시스템 개발시에도 검토는 한번 했으나 성능 등의 이유로 못했다고 했다.

일정도 빠듯했고, 솔루션 기반의 프로젝트에 기 운영시스템을 모토로 하는 것이라

요건을 낸 현업담당자에게 어려울 것 같다고 전달 했다.

그런데 갑자기..!! 이것이 필수 요건이라 무조건 되어야 하는 기능이라고 한다.

 

되도 않는 갑질.

일전에 했던 프로젝트중 POI library를 이용하여 엑셀을 핸들링했던 적이 있다.

그래서 싸우기 싫어서..(싸워봐야 수행사만 고생이고 욕먹는다 - 갑질이 괜히 갑질이겠는가)

수행사에 이슈보고를 하고, 시간이 필요한 작업이니 별도 일정으로 가져가기로 했다.

 

POI library

 

Apache제단에서 진행중인 오픈소스 프로젝트이다.

Java에서 MS-Office제품군을 핸들링할 수 있게 해준다.

 

결국 POP를 반입요청하여 솔루션에 적용했다.

라이브러리를 잘 사용하는 것은 아니라 필요한 가장 기본이 되는 기능만 사용하여 개발을 했다.

엑셀파일을 읽어, 기 시스템에 사용하던 csv형태로 저장하는 것이다.

 

엑셀파일을 읽으니 서식이나 포뮬러와 같은 각종 부가정보들 있어

메모리도 많이 잡아 먹고 속도도 그리 빠르지 않았다.

인터넷을 검색하니 속도 개선을 위해 다른 라이브러리를 사용하면 된다는데..

지금 한 것으로도 충분히 성의표시는 했다는 생각이 들었다.

 

결국 POI를 이용하여 기능을 구현했고

속도 이슈에 대해 언급하여, 대량데이터는 처리가 어렵다고 정리했다.

고객도 그 선에서 정리를 해줘서 일단 잘(?) 마무리 됐다.

 

프로젝트를 하다보면, 은근히 엑셀파일을 핸들링 하는 경우가 많이 있다.

솔루션 내에 기능을 제공하는 것들도 많아(또는 공통/인프라팀에서 작업) 별 신경을 안쓴다.

만약 이번 프로젝트와 같이 환경이 여의치 않다면, 요건을 짜른다.(트러블이 좀 생김)

 

전에도 느낀 것이지만, POI와 관련 라이브러리를 잘 사용할 수 있으면...

그리고 이를 이용하여 모듈을 만들어 사용한다면...

프로젝트에 여러가지로 많은 도움이되지 않을까 한다.

 

내가 솔루션 회사의 직원이었다면 적극 제안하여

솔루션 내에 해당 모듈을 적용해서 활용하지 않을까 싶다.

이를 응용하면, 프로젝트의 각종 산출물들을 자동화하여 만들 수도 있을듯하다.

초안을 자동화하여 생성하고, 사람이 확인 및 보완한다면

생각이상으로 많은 공수를 절약할 수 있다.

 

이마도 다들 알지만...

내가 할일이 아니고, 귀찮으니 하지 않는 것이리라.

 

끝.

반응형