엑셀을 읽어들이는 프로그램을 만들때, 마이크로 소프트 엑셀이 아닌 다른 오피스 프로그램으로 만들어진 엑셀 문서를 읽어들이는 프로그램을 개발할때 애먹었던 적이 있다. 물론, 그 프로그램은 마이크로 소프트의 엑셀을 읽어들이는 것에 최적화 된 프로그램이다.
엑셀만 사용해본 경험만 적는다.
1. 오픈 오피스(https://www.openoffice.org/ko/)
- 장점
- 너무나도 유명하다.
- 예전에 비해 속도도 많이 빨라졌고 버그도 거의 없어졌다.
- 사용하기도 예전에 비해 많이 편해졌다.
- 마이크로 소프트의 엑셀과 완벽하게 호환된다.
- JAVA에서 POI를 사용하여 읽어들일때도 프로그램 수정없이 호환이 된다. xls 만 호환됨.
- 단점
- MS EXCEL 2007 이상부터 지원하는 xlsx를 지원하지 않는다. 정확히 말해, xlsx 파일을 읽을 수는 있지만 다시 xlsx 파일로 저장은 할 수 없다.
저장할때는 다른 형식(ODF 형식)으로 저장해야 한다.
- xlsx로 저장이 되지 않기 때문에 xlsx 관련 문서 작업을 할 수 없다. 다른 사람이 ODF 형식을 인정한다면 사용 가능함.
2. 리브레 오피스 (http://ko.libreoffice.org/)
- 장점
- MS 엑셀의 xls뿐만 아니라 xlsx 까지 호환이 된다.
- 속도도 빠르다.
- 한글이 적용되어져 있다.
- 사용하기도 편하다.
- 단점
- 엑셀의 최대 칼럼이 1024까지밖에 지원을 하지 않는다(http://en.wikipedia.org/wiki/LibreOffice_Calc)
- JAVA에서 POI를 사용하여 읽어들일때 데이터가 없어도, 칼럼을 항상 1024까지 읽어들이는 현상이 발생함
- 이유: 리브레 오피스는 마지막 칼럼(1024)에 빈문자열을 숨겨서 넣는다고 한다. (http://stackoverflow.com/questions/22070763/apache-poi-seeing-columns-in-empty-spreadsheet)
* 결론
일반 사람들이 사용하기에는 리브레 오피스가 제일 나을 것 같다. MS 오피스의 최신버전(2007 이후)에서 작성된 xlsx 형식까지 읽고, 쓰기가 가능하기 때문이다.
하지만, 개발을 해야 한다면 오픈 오피스를 쓰는것이 낫다. 왜냐 하면 리브레 오피스는 단점에도 나왔다 시피, 칼럼의 마지막 1024번째 줄에 항상 빈문자열을 넣기 때문에 데이터가 없애도 무조건 1024까지 읽어버려서, 프로그램에서 알 수 없는 오류가 발생할 확률이 높다.
'개발 > 기타' 카테고리의 다른 글
MS 아웃룩에서 파일을 열고 저장했을시, 파일 찾기(2007 기준) (1) | 2014.04.07 |
---|---|
java zip 파일 생성시 주의 할 점. (0) | 2014.04.05 |
리눅스에서 자바 실행하는 방법 (0) | 2014.04.05 |
window7 절전모드 해제하는 방법(원격이 안됨) (0) | 2014.04.05 |
울트라 에디터 window7에서 설정파일 백업하기. (0) | 2014.04.05 |
댓글